0

動的に生成されるドロップダウン選択メニューがあります。.after メソッドを使用して単純に挿入される html select 構文を使用して生成されます。そして、ajax 呼び出しを使用してセレクターの要素を取得し、このように入力します。

 $($.parseJSON(msg)).map(function () {
      return $('<option>').val(this.id).text(this.name);
  }).appendTo('#item');

このコードが「項目」ドロップダウン メニューにデータを入力した後、それをいくつかの要素、たとえば 5 番目の要素に設定する必要があります。ということで、こんな感じにしてみました。

$('#item').val('5');

アイテムを具体的に特定しようとさえしました。htmlテーブルにあるので、このように。

$("#itemTable > tfoot > tr.items").find("td:eq(0) [name='item']").val('5');

上記のコードは、ドロップダウンを手動で作成した他の状況では正常に機能します。したがって、上記の両方の試みが実際には「アイテム」ドロップダウンコンポーネントを識別していないと考えました。それで、これを試すことができる他の方法はありますか?

4

1 に答える 1

0

jquery のドキュメントにmap()は、「プレーンな配列またはオブジェクトを処理する場合は、代わりに jQuery.map() を使用してください」と記載されています。

ドロップダウンには値が入力されないため (コンソールでエラーを確認してください)、#item に値を設定しても機能しません。

これを試して:

var options = $.map($.parseJSON(msg), function (n, i) {
    return $('<option>').val(n.id).text(n.name);
});
$("#item").append(options);

このコードを使用すると、drowdown に値が入力されてから機能し$("#item").val("5")ます。

JSFiddle: http://jsfiddle.net/6Us9N/

于 2013-10-12T12:07:59.383 に答える