0

最初のドロップダウンで選択した値に基づいてドロップダウンに入力しています。サーバーから返されるデータは JSON 形式であり、JQuery を使用して 2 番目の選択タグを解析して入力します

<select name="abc" id="jobName">
  <option value="-1">Please select a  Job</option>
 </select>

これは私のJqueryコードです

var selectedGroup = document.getElementById(groupDropDownId);
var groupdata = selectedGroup.options[selectedGroup.selectedIndex].value;
var formInput='group='+groupdata;

$.getJSON('search/getSchedulerJobListForGroup',formInput,function(data) {

    $('.result').html('' + data.jobList + '');
    $.each(data.jobList,function(index, value){
    var jobId = document.getElementById(resetDropDownId);
    var option=new Option(value,value);
    try{
         jobId.add(option);
       }
        catch(e){
          jobId.appendChild(option);
         }
       });
      });

    $("#jobName")[0].selectedIndex = 1;
    // $("#jobName").val($("#triggerjobName option:first").val());

上記のコードgroupDropDownIdでは、2 番目のドロップダウンが入力される値に基づくドロップダウンの ID です。resetDropDownIdサーバーから取得した JSON データから入力しようとしている 2 番目のドロップダウンの ID です。

ドロップダウンに入力すると、空のオプション タグも作成され、デフォルトで選択されます。その空のオプションにデフォルト値を追加して、「bla bla を選択してください」などのデフォルト オプション値を選択できるかどうかはわかりません。

また、ドロップダウンから最初の要素を選択しようとしましたが、何も機能していないようです。ここで何が間違っているのでしょうか?

4

1 に答える 1

0

あなたの質問に基づいて、動的に入力された選択リスト内の要素の値とテキストを変更する方法を知りたいようです。

現在、あなたはこの声明を$("#jobName")[0].selectedIndex = 1;保留中outside of your getJSON requestです。これを getJSON 関数内に移動すると、期待どおりに機能します。

そのオブジェクトの値とテキストを設定する場合は、-> を使用します。

$('#jobId option:first').val("Some Value").text("other stuff");

JSON オブジェクトから動的に入力された選択リストを使用して、動作する JS Fiddle を確認できます。

フィドル

于 2012-06-27T14:10:03.610 に答える