0

私は次のコードとしてリストボックスを持っています:

<select onchange="saveQuery(this);" id="savedQuery" size="10" name="savedQuery[]">
  <option value="xyz">XYZ</option>
  <option value="mno">MNO</option>
</select>

と機能:

 function saveQuery(ptr){
     var queryName;
     var $queryName = $('#savedQuery option:selected').val()
     $("#query").val($queryName);        
 }

ここでは、変更時に選択したアイテムの値を取得しています。

同じクリックでもう一度選択を解除したい。これは、一度に選択および選択解除することを意味します。

4

4 に答える 4

1

prop()を使用する

function saveQuery(ptr){
  var queryName;
  var $queryName = $('#savedQuery option:selected').val()
  $("#query").val($queryName);
  $("#savedQuery option:selected").prop("selected", false) ;      
}
于 2013-01-29T10:11:58.470 に答える
0

次のオプションのいずれかを使用できます。

$("#savedQuery").val([]);

また

$("#savedQuery option").prop("selected", false);

また

$("#savedQuery option:selected").prop("selected", false) ; 

また

$("#savedQuery").find('option').removeAttr("selected");

したがって、関数は次のようになります

function saveQuery(ptr){
   var queryName;
   var $queryName = $('#savedQuery option:selected').val()
   $("#query").val($queryName);
   $("#savedQuery").val([]);
}
于 2013-01-29T11:15:53.263 に答える
0

値の空の文字列を取得すると機能し$('#savedQuery')ます。

$('#savedQuery').val(''); 

ここにjsfiddleがあります。http://jsfiddle.net/CfDmc/

于 2013-01-29T10:12:59.430 に答える
0

jQuery でをクリアする最も簡単な方法selectは、その値を空の文字列に設定することです。

ハンドラーに渡すので、コード内thisで DOM に新しい検索を作成する必要はありません。$('#savedQuery')$('select').val()同様に行い$('select option:selected').val()ます。

function saveQuery(ptr){
     var $this=$(ptr);
     var $queryName = $this.val();
     $("#query").val($queryName);
     /* reset*/
     $this.val('');        
 }
于 2013-01-29T10:13:20.467 に答える