javascript设置使用getElementsById选择元素选项
我有一个表单,在这个表单中,我使用javascript根据属性类型(房屋、公寓等)设置select元素选项。当我使用document.myForm.priceSelect.options访问列表时,它正在工作 我想通过id而不是名称访问它。因为我想将名称与选项一起设置,以便在提交表单时,列表的名称将决定要执行的函数。一些代码可以说明:javascript设置使用getElementsById选择元素选项,javascript,Javascript,我有一个表单,在这个表单中,我使用javascript根据属性类型(房屋、公寓等)设置select元素选项。当我使用document.myForm.priceSelect.options访问列表时,它正在工作 我想通过id而不是名称访问它。因为我想将名称与选项一起设置,以便在提交表单时,列表的名称将决定要执行的函数。一些代码可以说明: if(prop_type == 'flat') { document.getElementById('priceRange').setA
if(prop_type == 'flat') {
document.getElementById('priceRange').setAttribute('name', 'flatRange');
.....
现在,我正在更改名为priceRange的选择列表的名称。如何使用id而不是名称更改选项,如下所示:
document.searchForm.priceRange.options[1]=new Option("10000 - 20000", "10000 - 20000");
提前谢谢你
更新:
变更后:(不工作)
简单使用
document.getElementById(yourId).options[1]=new Option("10000 - 20000", "10000 - 20000");
简单使用
document.getElementById(yourId).options[1]=new Option("10000 - 20000", "10000 - 20000");
dystroy的方法应该有效-看到这个了吗 另一种方法是创建用于创建选项的包装器方法,例如:
function createOption(objSelect, optText, optValue){
var objOption = document.createElement("option");
objOption.text = optText;
objOption.value = optValue;
if(document.all && !window.opera){
objSelect.add(objOption);
}
else
{
objSelect.add(objOption, null);
};
}
然后,您可以将选项添加到“选择”:
var priceRange=document.getElementById('priceRange');
createOption(priceRange, "10000 - 20000", "lowball");
Fiddle for the wrapper方法dystroy的方法应该可以工作-参见此 另一种方法是创建用于创建选项的包装器方法,例如:
function createOption(objSelect, optText, optValue){
var objOption = document.createElement("option");
objOption.text = optText;
objOption.value = optValue;
if(document.all && !window.opera){
objSelect.add(objOption);
}
else
{
objSelect.add(objOption, null);
};
}
然后,您可以将选项添加到“选择”:
var priceRange=document.getElementById('priceRange');
createOption(priceRange, "10000 - 20000", "lowball");
Fiddle for the wrapper方法谢谢,mate:)将尝试它,但不起作用。我更新了上面的代码以显示更改。现在列表中什么都没有显示。谢谢,伙计:)我会试试看的。没用。我更新了上面的代码以显示更改。现在,列表没有显示任何内容。