20

メニューを通常の選択からjQueryの選択メニューに変更した後、プログラムでオプションを選択できなくなりました。これを行う方法はありますか?

選択するコードは次のとおりです(ListIdがリストの実際のIDであると想定)

$('#ListId').val(value);

プラグインは次のようにアクティブ化されます。

$("#ListId").selectmenu({ style: "dropdown", width:140 });

選択メニューで項目を選択する方法はありますか?同じ.val(value)関数を呼び出すと、適切なスタイルのjQuery selectmenuではなく、非表示の元の選択リストの値が選択されるだけです。

4

6 に答える 6

23
$('#ListId').selectmenu("value", value);
于 2010-12-14T22:33:01.293 に答える
20

この部分を以前に一度行ったことがあると仮定します。

$("#ListId").selectmenu({ style: "dropdown", width:140 });

私はこれがうまくいくことを発見しました:

$('#ListId').val(value);
$('#ListId').selectmenu("refresh");

これにより、定型化されたドロップダウンに正しい値が表示されます。

于 2015-02-26T18:35:22.070 に答える
2

変更呼び出しを追加することにより、変更イベントハンドラーを追加でトリガーできます。

$('#ListId').selectmenu("value", value);
$('#ListId').selectmenu("change"); // Add this for a change event to occur
于 2012-03-07T14:07:10.277 に答える
1

この方法を使用してオプションを選択するには、(値ではなく)インデックスを使用する必要があることに注意してください。

たとえば、この選択が与えられます。

<select id="ListId">
   <option value="value-one">One</option>
   <option value="value-two">Two</option>
</select>

この場合、式$('#ListId').selectmenu("value", "value-two");は結果を返しません。その代わりに、を使用する必要があります$('#ListId').selectmenu("value", "2");。つまり、select内の要素の位置/インデックスを使用する必要があります。価値ではありません!

ただし、インデックスを見つけるのは簡単です。あなたはそれを達成するために次の行を使用することができます。

var index = $('#ListID option[value="value-two"]').index();
$('#ListId').selectmenu("value", index);
于 2014-10-23T06:46:40.670 に答える
0

私は以下を試しましたが、私の状況では機能しません

1.1。

$('#ListId').val(value);
$('#ListId').selectmenu("refresh");

2.2。

$('#ListId').selectmenu("value", value);

3.3。

var option = $("#ListID option")
option.attr("selected", true);
// option.prop("selected", true);
// option.attr("selected", "selected");
// option.prop("selected", "selected");
$('#ListId').selectmenu("refresh");

更新、選択....など。状況によっては機能しません。

したがって、 Chromeでctrl+を押しIて、ソースコードを表示します。次のコードを使用して状況を解決します。

// Set Component Separator   jQuery UI SelectMenu
componentSeparatorPlaceHolder.find(".ui-selectmenu-text").html(inputComponentSeparatorStr); 
// Set ComponentSeparatorDropDown
componentSeparator.val(inputComponentSeparatorStr); 
于 2015-04-15T07:34:59.890 に答える
0

私は次の方法を試しましたが、それは私の状況で機能します

$('#ListId').find('option[value=""]').attr("selected", true);    

また

$('#ListId').prop('selectedIndex', 0);
于 2015-10-19T06:03:37.923 に答える