gpt4 book ai didi

javascript - 选择和取消选择在 IE9 中不起作用?

转载 作者:行者123 更新时间:2023-11-28 03:37:12 24 4
gpt4 key购买 nike

我有一个下拉菜单 <select>元素从 50 个状态的列表中选择状态,我选择第一个值,保存它,并在 DOM 中显示该值。我更改并选择了第 5 个值,保存它显示 DOM 中的值更新。现在回来我选择第二个值,并保存它。它没有将值保存在 DOM 中,而是显示了之前选择的第 5 个值。我检查了不同的值,发现在选择任何更高的索引值后,选择返回,较低的值在 DOM 中没有影响,因此我在 POST 中没有得到正确的值。

这是我在 change 上调用的函数.

function updateDOM(inputField) {
var elementId = inputField;
if (inputField.type == "select-one") {
var prev_select = inputField.selectedIndex;
$('#'+inputField.id+' option').each(
function() {
$(this).removeAttr('selected');
}
);
document.getElementById(elementId.id).selectedIndex = prev_select;
if (browserVersion == 9) {
document.getElementById(elementId.id)
.options[prev_select].setAttribute("selected","selected");
}
else {
document.getElementById(elementId.id)
.options[prev_select].setAttribute("selected","selected");
}
document.getElementById(elementId.id).value
= document.getElementById(elementId.id).options[prev_select].value;
}

HTML

   <select id="abc"  name="abc"  onchange="javascript:updateDOM(this);" class="required" >
<option name="" value="" title="null" selected ></option>
<option name="AK" value="Alaska" title="null" >Alaska</option>
<option name="AL" value="Alabama" title="null" >Alabama</option>
<option name="AR" value="Arkansas" title="null" >Arkansas</option>
<option name="AZ" value="Arizona" title="null" >Arizona</option>
</select>

最佳答案

首先,你为什么不使用 jQuery 的“:selected”选择器,你正在使用它?另外,为什么你只使用 jQuery 一次?我建议使用 jQuery 风格(抱歉,我不太确定您在代码中到底想做什么):

http://jsfiddle.net/msLXt/1/

附言这些条件有什么区别?

   if (browserVersion == 9) {
document.getElementById(elementId.id)
.options[prev_select].setAttribute("selected","selected");
}
else {
document.getElementById(elementId.id)
.options[prev_select].setAttribute("selected","selected");
}

关于javascript - 选择和取消选择在 IE9 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13496279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com