一个非常棘手的问题:在DIV层中放一个ListBox控件当选中一项时JS代码中不能识别ListBox.option[i].selected
我的页面是点击一个按钮弹出一个DIV层(同时此页面变为半透明不可选状态),此时DIV层中有个ListBox(.net后台控件)和TextBox(.net后台控件)。当我选中ListBox的某项时我的前台代码不能识别我所选的哪项。前台代码如下:
<script language="javascript" type="text/javascript">
function selectitem()
{
var listBox=document.getElementById("listBox1");
for(var i=0;i<listBox.options.length;i++)
{
if(listBox.options[i].selected)//用另一种方listBox.options[listBox.SelectedIndex].Text==listBox.options[i].text也不行
{//始终进不了这段代码里面来。
document.getElementById('TextBox1').value =listBox.options[i].text;
break;
}
}
}
</script>
我测试了的上段代码中listBox.options所有项在前台这段代码中都能识别,就唯独我选择的哪项前台识别不了。感觉是和DIV层有关系,我去掉DIV层这段前台代码是没有问题的。我也不晓得DIV层的显示原理是怎样的,难道和listBox有冲突?请各位大哥给小弟以指点。感激不尽,谢谢! --------------------编程问答-------------------- if(listBox.options[i].selected=='true') --------------------编程问答-------------------- 记得好像就这样,试一下吧~ --------------------编程问答-------------------- 我试了不行?感觉是在DIV层里listBox.options[i].selected完全不起任何作用,全部都是false --------------------编程问答--------------------
<script language="javascript" type="text/javascript">--------------------编程问答-------------------- 另外你这个 listBox 应该是 生成后的 ID 如果是服务器控件的ID 需要
function selectitem(){
document.getElementById("listBox1").value =listBox.value;
}
</script>
<script language="javascript" type="text/javascript">
function selectitem(){
document.getElementById("listBox1").value =document.getElementById("<%=listBox.ClientID%>").value;
}
</script>
补充:.NET技术 , C#