2

div-popup が呼び出されるたびに jQuery によって入力する必要がある 10 個の選択フィールドの HTML 配列があります。(それぞれが同じオプションを取得します) 何百人もの従業員が定期的に必要とされており、このフォームは、部門ごとにまとめて承認を受けるために上層部に人員配置の要求を転送できるようにすることを目的としています。.serialize を使用してフォームを送信しますが、入力選択のための適切な情報でこの要素を初期化する方法が不明です。私が見つけたすべての情報は、フォーム配列の送信に関するものであり、その方法は既に知っていました。

HTML 構造は次のとおりです。

<select id="detJobsCR[]" name="detJobsCR[]"> </select>

そして、ここに選択フィールドに入力する私の試みがあります:

$.post("events.php",{a: 'detadd-joblist', dept_id: deptID}, function(data) {
    for(var i=0;i<10;i++){
        $('#detJobsCR[i]').html(data);
    }   
});

(各要素の配列位置 [0]、[1] などを明示的に定義しようとしましたが、役に立ちませんでした。)

返されるデータは、次のような単純な HTML です。

<option value='38'>Admin Support Assistant I</option>
<option value='39'>Admin Admin Support Assistant II</option>...

あなたが提供できるあらゆる支援に感謝します!

参考までに更新: Musa の回答は完璧に機能しました。同じ理由で、日付と時刻のピッカーが機能しないという問題もありました。それらをクラスに変換したとき、これを使用することができました(以下)。すべてが同様に機能するようになりました:

$(".detDateStart").datepicker();
4

2 に答える 2

2

ID は一意である必要があるため、各選択には独自の ID が必要です。すべての選択を表すために1つの識別子が必要な場合は、クラスを使用できます。たとえば<select class="detJobsCR" name="detJobsCR[]"> </select>、それらを選択し$('.detJobsCR')、htmlを設定します。html(data)

$.post("events.php",{a: 'detadd-joblist', dept_id: deptID}, function(data) {
    $('.detJobsCR').html(data);
});
于 2013-02-20T23:50:24.153 に答える
1

あなたの問題は2つあります:

  1. あなたはi引用符の中に入れているので、変数 i の値を解釈していません
  2. i引用符内にない場合でも、jquery が式を解析するときに、idと属性が定義され[i]た要素を探します。detJobsCRi

要素が 1 つしかないため、IDdetJobsCR[]を使用して次のようにクエリを実行します 。and 文字をエスケープする必要があるため、jquery はそれが ID の一部であり、解析ルール (属性の解析/検索用)$('#detJobsCR\\[\\]') ではないことを認識します。[]

Musa が示唆しているように、エスケープ値を必要としない単純なクラス名を使用することで、作業がずっと楽になります。ただし、ID で選択したい場合は、上記の例でうまくいくはずです。

于 2013-02-20T23:56:07.720 に答える