0

動的に作成される選択入力メニューがあります。これにより、行項目が作成されます。ユーザーは行をクリックして、選択内容を編集できます。デフォルトのドロップダウン オプションを変数に設定する際に問題が発生しています。問題の簡略版をjsfiddleに入れました。

http://jsfiddle.net/SteveRobertson/cPtLj/1/

私がフィドルでやろうとしているのは、デフォルトのオプションをoption3にすることです。

また、「テキスト」の代わりに「値」を使用してこれを実行しようとしました

   $("#selectid option[value='"+cat+"']").prop("selected", "selected");

設定する値を取得できないようです。どんな助けでも大歓迎です。ありがとうございました。

4

3 に答える 3

2
var text1 = 'your text';
$("select option").filter(function() {
    return $(this).text() == text1; 
}).prop('selected', true);

または使用

<select id="selectid">
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>

$(document).ready(function () {
 $("#selectid").val("option3");
});
于 2013-06-06T03:20:18.483 に答える
2

動作中のjsFiddleデモ

これを試して:

$(document).ready(function() {
    var cat = 'option3';
    $("#selectid option:contains(" + cat + ")").prop("selected", true);
});

ノート:

  • あなたのjsFiddleには、jQueryが含まれていませんでした..
  • ではなくcatとしてコードで使用していました。stringvariable
  • この場合、 を使用し:contains() Selectorました。
  • .prop()メソッドは、boolean2 番目の引数として必要です。

参考文献:


更新しました

この方法は十分に公平です。option11やのようなオプションでも機能しますoption111:

$(document).ready(function() {
    // your string
    var cat = 'option11';

    // get all options
    $("#selectid option")
        // remove all selected
       .prop("selected", false)

       // now filter the one you want
       .filter(function () {
           return $.trim($(this).text()) == cat;
       })
            // select it
           .prop('selected', true);

});
于 2013-06-06T03:21:44.783 に答える