我有这个JavaScript代码:
function change(varam){
if(confirm("Select this option?"))
{
} else {
if(varam=="1")
{
alert("Return selected to NO");
} else {
alert("Return selected to YES");
}
}
}
HTML代码:
<select id="sel" name="sel" onchange="change(this.value)">
<option value="1">YES</option>
<option value="0">NO</option>
</select>
我想要的是什么:
假设所选默认值为 YES 。如果用户选择否,则出现确认框,如果他想要更改为否,如果选择为“确定”,则选项否将被选中,如果选择是“取消”,则不选择否选项,但选择返回是选项。反之亦然。
看到这个小提琴:http://jsfiddle.net/CtxUy/
答案 0 :(得分:1)
您可以迭代选项并选择具有selected
属性的选项。如果没有,请选择第一个(在缺少selected
属性时始终为默认值。)
var select = document.getElementById('sel');
var options = select.options;
options[0].selected = true; // preemptively select the first option
for (var i = 0, l = options.length; i < l; i++) {
if (options[i].hasAttribute('selected')) {
options[i].selected = true;
break;
}
}
答案 1 :(得分:1)
如果您只关心这两个元素,可以手动设置值:
if(varam=="1")
{
document.getElementById('sel').value = 0;
} else {
document.getElementById('sel').value = 1;
}
如果可能存在其他值,您可以做的是跟踪最初选择的值并将选择器值设置回拒绝确认时的值,或者如果确认则覆盖该存储值。