:catch되지 않은 오류 RangeError : jQuery를
$(document).on("change","select.task_activity", function(){
selected_activity = $("select.task_activity :selected").map(function(){ return this.value });
//selected_activity = $("select.task_activity").val();
new_artifact_select = $("select.new_artifact");
/* Loads artifacts select when one or more activities are selected */
$.post("/tasks/activity_artifacts",{
activity_id: selected_activity
},function(data, status){
if (data){
options = "";
if (data.length > 0){
for (i=0; i<data.length; i++){
options += '<option value="'+data[i]['name']+'">'+data[i]['name']+'</option>';
}
}else{
options += '<option>This activity has no artifacts</option>';
}
}else{
options = '<option>Error</option>';
}
new_artifact_select.html(options);
},"json");
});
오류 트리거 :
Uncaught RangeError: Maximum call stack size exceeded
가 여기 내 jQuery를 조각이다 변경 이벤트가 포착 된 경우 여기
HTML의 조각 :
<select class="task_activity" name="task1">
<option value="">Select</option>
<option value="35">.........</option>
(...)
</select>
<select class="task_activity" name="task2">
<option value="">Select</option>
<option value="36">.........</option>
(...)
</select>
나는 배열에서 선택한 항목의 ID가 있어야합니다. 매핑은 on ("변경") 범위 밖에서 작동하지만 브라우저가 그 범위 내에서 더 많은 함수를 받아 들일 수없는 것처럼 보입니다.
몇 가지 대안이 있습니까?
'$. post '에 참조 된 모든 변수를 확인하십시오. 하나 이상의 변수가 정의되지 않았을 가능성이 큽니다. –
'.map()'이 무엇이라고 생각합니까? 나는 이것이 정말로 당신의 코드가 어떻게 생겼는지에 대해 심각하게 의심합니다. – Pointy
게시 한 코드에'.map()'함수가 없습니다. – Barmar