再次发问,有帮忙解决的另开帖再给100分

whiteclude 2002-03-11 11:05:09
<xml id="xmldso">
<root>
<product>
<serial>08157</serial>
</product>
<product>
<serial>01005</serial>
</product>
<product>
<serial>36833</serial>
</product>
<product>
<serial>39949</serial>
</product>
<product>
<serial>39893</serial>
</product>
<product>
<serial>32178</serial>
</product>
</root>
</xml>
<table datasrc="#xmldso">
<tr>
<td>
<select id="ser" datafld="serial">
<option value="08157">08157
<option value="01005">01005
<option value="36833">36833
<option value="39949">39949
<option value="39893">39893
<option value="32178">32178
</select>
</td>

</tr>
</table>
<input type="button" onclick="democlick()" value="demo">
<script>
function democlick() {
document.all.ser[0].length = 0;
alert(document.all.ser[0].length)
document.all.ser[0].options[0] = new Option("08157","08157");
alert(document.all.ser[0].length)
}
</script>

这样一段code,点击demo按钮,弹出的对话框数据和方法数据不一致,第二次弹出应该为1,结果却为2,奇怪
...全文
23 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
whiteclude 2002-03-11
  • 打赏
  • 举报
回复
孟兄,谢了,另开帖再赠100
孟子E章 2002-03-11
  • 打赏
  • 举报
回复
这样修改就没有问题了!有Bug是难免的,但总可以实现您的要求的:

document.all.ser[0].options[0] = new Option()
document.all.ser[0].options[0].value="08157"
document.all.ser[0].options[0].text="08157"

另外:第二参数换成别的值都是正确的

<xml id="xmldso">
<root>
<product>
<serial>08157</serial>
</product>
<product>
<serial>01005</serial>
</product>
<product>
<serial>36833</serial>
</product>
<product>
<serial>39949</serial>
</product>
<product>
<serial>39893</serial>
</product>
<product>
<serial>32178</serial>
</product>
</root>
</xml>
<table datasrc="#xmldso" id=tb>
<tr>
<td>
<select id="ser" datafld="serial">
<option value="08157">08157
<option value="01005">01005
<option value="36833">36833
<option value="39949">39949
<option value="39893">39893
<option value="32178">32178
</select>
</td>

</tr>
</table>
<input type="button" onclick="democlick()" value="demo">
<script>
function democlick() {
document.all.ser[0].length = 0;
alert(document.all.ser[0].length)
document.all.ser[0].options[0] = new Option()
document.all.ser[0].options[0].value="08157"
document.all.ser[0].options[0].text="08157"

alert(document.all.ser[0].length)
}
</script>

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧