0

(jquery Mobile を使用) すべてのドロップダウン ボックス selectedIndex を 0 にリセットする必要があるリセット ボタンがあります。インデックスはゼロに戻ったと思いますが、選択ボックスに表示される値は正しくありません。同じ値を保持します。

JSfiddleはこちら

例: 「unit2」を選択し、[リセット] をクリックします。[OK] をクリックします。選択ボックスに表示される値は「unit2」ですが、「--Units--」と表示されます。

HTML

<div data-role="fieldcontain" class='seltype' id='xmep' >
  <select id="dmep" data-mini='true'>
    <option value="0">--Units--</option>
    <option value='1'>unit1</option>
    <option value='0.01'>unit2</option>
    <option value='10'>unit3</option>
  </select>
</div>

.

.

Jクエリ

$(document).ready(function() {
  $('#rstBtn').click(function() {
     var answer = confirm('Click OK to set the selectIndex equal to 0');

        if (answer == false) {
            return;
        } else {
            $('select').prop('selectedIndex', 0);
        }
  });

});
4

2 に答える 2

4

を使用して選択メニューを更新する必要があります.selectmenu('refresh',true)

デモ

$(document).ready(function() {
  $('#rstBtn').on('click', function() {
     if (confirm('Click OK to set the selectIndex equal to 0')) {
         $('#dmep').val(0).selectmenu('refresh',true);
         
     }
  });
});

こっちの方が正確だろう

  $('#dmep').find('option[value="0"]')
  .prop('selected', true).addBack()
   .selectmenu('refresh', true);

また

   $('#dmep').prop('selectedIndex', 0)
   .selectmenu('refresh', true);
于 2013-05-09T21:46:38.553 に答える
1

このように動作します:http://jsfiddle.net/bWdGB/

選択ボックスをリセットするには、次のメソッドを使用します。

$('select').val('0').attr('selected', true).siblings('option').removeAttr('selected');
$('select').selectmenu("refresh", true);
于 2013-05-09T21:47:01.827 に答える