请兄弟们帮我看看这段代码

scycgjr 2003-06-15 07:23:05
function szxsave()
{
var obj=document.all.T6;
var strvalue=0;
var oldlen=obj.length;
obj.add(document.createElement("OPTION"));
for(i=1;i<oldlen;i++)
{
if(strvalue<=parseInt(obj.options[i].value))
{
strvalue=parseInt(obj.options[i].value);
}
}

obj.options[obj.length].text=document.all.T2.value;
obj.options[obj.length].value=strvalue+1;
obj.options[obj.length].value='0'+obj.options[obj.length].value;
}
说明:上面这段代码是用javascript写的,T6是下拉菜单框,T2是输入框,函数szxsave()是一个按钮调用的,T6里面的选项值是从一个数据库中读取的,选项的text值形式为:“土建”,“装修”..;value值形式为:“01”,“02”...;szxsave()函数的功能就是将文本框T2值保存为T6的选项的text,而其value值则按照原来的value值的形式自动添加,现在的问题是为什么strvalue到7后,就一直是0了呢,无论我添加了多少项
...全文
44 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sakura169 2003-06-17
  • 打赏
  • 举报
回复
用/,就是强制类型转换怎么不行?
你试了吗?就知道不行,早知不回答了!
scycgjr 2003-06-16
  • 打赏
  • 举报
回复
综合了wyhkgd和xiaobang兄的意见,终于搞定,
谢谢各位兄台的鼎立相助!!!
老邦纯生 2003-06-16
  • 打赏
  • 举报
回复
修正一下,忘了作递增了,不好意思

<html>

<head>

<script>
function szxsave(){
var obj=document.all.T6;
var newCaption=document.all.T2.value;
var length=obj.options.length;
var newOpt=document.createElement("OPTION");
length++;
newOpt.innerHTML=newCaption;
newOpt.value=(length<10) ? "0"+ length : length;
obj.appendChild(newOpt);
}

</script>
</head>

<body>

<select size="1" name="T6"></select>
<input type="text" name="T2" size="12">
<input type="button" value="提交" name="B1" onclick="szxsave()">

</body>

</html>
老邦纯生 2003-06-16
  • 打赏
  • 举报
回复
既然用了dom为什么不这样用,如下:


<html>

<head>
<script>
function szxsave(){
var obj=document.all.T6;
var newCaption=document.all.T2.value;
var length=obj.options.length;
var newOpt=document.createElement("OPTION");
newOpt.innerHTML=newCaption;
newOpt.value=(length<10) ? "0"+ length : length;
obj.appendChild(newOpt);
}

</script>
</head>

<body>

<select size="1" name="T6"></select>
<input type="text" name="T2" size="12">
<input type="button" value="提交" name="B1" onclick="szxsave()">

</body>

</html>
gzwuyh 2003-06-16
  • 打赏
  • 举报
回复
eval(obj.options[obj.length-2].value)就是数值型的了。
scycgjr 2003-06-16
  • 打赏
  • 举报
回复
sakura169兄,strValue 这样取得不行吧,因为obj.options[obj.length-2].value的类型为char,
其他大虾请帮我想想呀
sakura169 2003-06-15
  • 打赏
  • 举报
回复
<script>
function szxsave()
{
var obj=document.all.T6;
//var strvalue=0;
var oldlen=obj.length;
obj.add(document.createElement("OPTION"));

strValue = obj.options[obj.length-2].value/1+1;

obj.options[obj.length-1].text=document.all.T2.value;
obj.options[obj.length-1].value='0'+strValue;
}
</script>

<select name=T6>
<Option value=01>111</Option>
</select>
<Input type=text name=T2 onkeypress='if(event.keyCode==13){return szxsave();}'>

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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