我的列表框如下代码:
<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);
}
在这里,在变化时,我获得了所选项目的价值。
我想在同一次点击时再次取消选择。 这意味着一次选择和取消选择。
答案 0 :(得分:1)
使用prop()
function saveQuery(ptr){
var queryName;
var $queryName = $('#savedQuery option:selected').val()
$("#query").val($queryName);
$("#savedQuery option:selected").prop("selected", false) ;
}
答案 1 :(得分:0)
答案 2 :(得分:0)
使用jQuery清除select
的最简单方法是将其值设置为空字符串。
由于您将this
传递给处理程序,因此无需在代码中为$('#savedQuery')
在DOM中创建新搜索。 $('select').val()
也与$('select option:selected').val()
相同。
function saveQuery(ptr){
var $this=$(ptr);
var $queryName = $this.val();
$("#query").val($queryName);
/* reset*/
$this.val('');
}
答案 3 :(得分: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([]);
}