我正在撰写表格。我的一位同事使用了are_you_sure.js,在保存表格之前确认要离开。
现在的问题是,如果我有这样的下拉列表
<script type="text/javascript">
function get_cpc(cst_type)
{
if(cst_type==0 || cst_type==1)
{
$("#camp_cpc").show();
$("#camp_cpc").val("'.(!empty( $html['camp_cpc'] )?(double)$html['camp_cpc']:'').'");
}
else
{
$("#camp_cpc").hide();
$("#camp_cpc").val("0");
}
}
</script>
<select name="cost_type" id="cost_type" onchange="get_cpc(this.value);" class="ultra-select">
<option value="0">CPC</option>
<option value="1" selected="selected">CPA</option>
<option value="2">Do Not Track</option>
</select>
当我从非选定选项切换到选定选项时,状态更改需要花费太多时间
这意味着如果我从CPA中选择CPC / Do Not Track,那么下拉列表会很快运行。但如果我从CPC / Do Not Track中选择CPA,那么状态变化大约需要4秒钟。
这是由于jquery.are-you-sure.js。所以,我需要从下拉列表中删除选择。我怎样才能做到这一点?
我把这段代码$("select option").prop("selected", false);
但它甚至没有让我选择任何其他选项。
答案 0 :(得分:2)
我不确定你的意思是什么,但你能分享are_you_sure.js
档吗?¿
此外,我已经更改了您的代码,也许它有所帮助,这是一种更好的方法。因为使用onchange()
不是一个好习惯,所以从你的html中删除onchange并执行此操作,链接:http://jsfiddle.net/hg5nz1w6/1/
JS:
$(document).ready(function(){
$('#cost_type').on('change', function(){
var cst_type = $(this).val();
if(cst_type==0 || cst_type==1)
{
$("#camp_cpc").val("'.(!empty( $html['camp_cpc'] )?(double)$html['camp_cpc']:'').'");
$("#camp_cpc").show();
}
else
{
$("#camp_cpc").hide();
$("#camp_cpc").val("0");
}
});
});
HTML:
<select name="cost_type" id="cost_type" class="ultra-select">
<option value="0">CPC</option>
<option value="1" selected="selected">CPA</option>
<option value="2">Do Not Track</option>
</select>
下面您可以看到一些删除所选内容的示例:
document.getElementById('myselect').selectedIndex = -1;
您可以取消选择所有选项:
$("select").val([]);
或
$("select option").prop("selected", false);
希望这有帮助!