に機能を.MAP使用した場合の最大コールスタックのサイズは、私は、コンソール上で、このエラーを取得してい超え:キャッチされない例外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'で参照されるすべての変数を確認してください。 1つ以上の変数が定義されていない可能性があります。 –
あなたは '.map()'が問題だと思いますか?私はそれが本当にあなたのコードがどのように見えているのか真剣に疑います。 – Pointy
投稿したコードに '.map()'関数はありません。 – Barmar