我有一个选择控件和文本框。用户可以在选择控件中选择一个值,并在文本框中为所选值指定名称。
我使用onchange(在选择控件上)和onblur(在文本框上)事件。
使用案例
IE和Chrome中的行为
在步骤3中,在onblur事件处理程序中,selectedIndex是先前选择的索引。
Firefox中的行为
在步骤3中,在onblur事件处理程序中,selectedIndex是当前选定的索引。
由于Firefox中的这种行为,文本框中的值无法映射到选择控件中的正确值。
PLS。让我知道这个问题的解决方案。
onblur事件处理程序:
function saveDisplayNameOnBlur()
{
var box = document.getElementById('box');
var selectControl = box.childNodes[1];
alert(selectControl.selectedIndex); // IE and Firefox show different value
if(selectControl.selectedIndex != -1)
{
var selectedValue = selectControl.options[selectControl.selectedIndex].value;
var val = document.getElementById('displayName').value;
map[selectedValue] = val.trim();
}
}
感谢。