Javascript动态GetElementByID
我希望在两个不同的元素上使用相同的函数,而不复制代码和更改id。我希望将id作为参数传递到函数中,但它不起作用Javascript动态GetElementByID,javascript,dynamic,getelementbyid,Javascript,Dynamic,Getelementbyid,我希望在两个不同的元素上使用相同的函数,而不复制代码和更改id。我希望将id作为参数传递到函数中,但它不起作用 function getSelected(id){ var selected = new Array(); **var selObj = document.getElementById(id);** //The problem is here var count = 0; for (x=0;
function getSelected(id){
var selected = new Array();
**var selObj = document.getElementById(id);** //The problem is here
var count = 0;
for (x=0; x<selObj.options.length; x++){
if (selObj.options[x].selected){
selected[count] = selObj.options.value;
count++;
}
}
alert(count)
}
函数getSelected(id){
所选变量=新数组();
**var selObj=document.getElementById(id);**//问题就在这里
var计数=0;
在我看来,(x=0;x的错误似乎在其他地方,特别是在这一行:
selected[count] = selObj.options.value;
这不应该是:
selected[count] = selObj.options[x].value;
或(不需要额外的“计数”变量)
(此外,您在x=0
前面缺少一个var
,从而使x成为一个全局变量。)确保id
为string除了向我们显示错误消息(如果有)之外,您还收到了什么错误,请确保id
中包含的内容。您可以使用console.log
将其打印到浏览器控制台。此外,如何调用此函数?请编辑您的问题并至少添加这些详细信息。感谢您的反馈。我实际捕获了“selObj.options[x].value”发布几分钟后。另外,我不知道我在没有使用“var”的情况下创建了全局变量。我是一名JS新手,一定不会再犯那种错误。我做了那些更改,但没有任何效果。你是否可以通过生成一个最小的示例?到目前为止,你的代码看起来还不错。
selected.push( selObj.options[x].value );