我有一个下拉列表和一个javascript函数,当选择下拉列表中的某个值时,它会禁用其他字段。
Javascript代码
function maritalStatusChange()
{
var dropdown = document.getElementById("maritalstatus").value;
if(dropdown == 'Single')
{
document.getElementById("spousefld").disabled = true;
document.getElementById("spouse_occupation").disabled = true;
document.getElementById("address3").disabled = true;
document.getElementById("children_no").disabled = true;
document.getElementById("spousefld").value = "";
document.getElementById("spouse_occupation").value = "";
document.getElementById("address3").value = "";
document.getElementById("children_no").value= "None";
}
if(dropdown == 'Married')
{
document.getElementById("spousefld").disabled = false;
document.getElementById("spouse_occupation").disabled= false;
document.getElementById("address3").disabled = false;
document.getElementById("children_no").disabled = false;
document.getElementById("maritalstatus").value= 'Married';
}
if(dropdown == 'Separated')
{
document.getElementById("spousefld").disabled = false;
document.getElementById("spouse_occupation").disabled= false;
document.getElementById("address3").disabled = false;
document.getElementById("children_no").disabled = false;
}
if(dropdown == 'Widowed')
{
document.getElementById("spousefld").disabled = false;
document.getElementById("spouse_occupation").disabled= false;
document.getElementById("address3").disabled = false;
document.getElementById("children_no").disabled = false;
}
}
以下是下拉列表的HTML代码以及我调用javascript函数的位置。
<select name="maritalstatus" id="maritalstatus" onchange="maritalStatusChange();">
<option>---------------</option>
<option value='Single'>Single</option>
<option value='Married'>Married</option>
<option value='Separated'>Separated</option>
<option value='Widowed'>Widowed</option>
</select><font color="red">*</font>
现在,唯一可行的是当我选择“单一”选项时,它似乎没有为其余选项获得正确的选定值。谁能告诉我我做错了什么?
谢谢!
答案 0 :(得分:0)
您应该尝试“selectedIndex”:
document.getElementById("maritalstatus").selectedIndex;
答案 1 :(得分:0)
上面的代码工作正常。您可以在http://jsfiddle.net/WmHCs/
看到它实际错误是什么?也许代码的其他部分?
答案 2 :(得分:0)
尝试以下代码
var eve = document.getElementById("maritalstatus");
var data = eve.options[eve.selectedIndex].value;
答案 3 :(得分:0)
您在HTML中使用单个配额。将它们切换为双配额。 options
的所有值都分配有这些单个配额。这就是您实际比较的内容:("'Single'"=="Single") => false
。
修改强>
如果此代码应在db
中添加选择,请检查if
- Single
以外的其他块。如果Single
您设置了一些值,但其他块只会进行一些消除。
答案 4 :(得分:0)
您只需要通过id从元素中获取值,然后提醒值。
创建一个函数并在更改时调用它。它适用于动态生成的许多值,下拉列表中没有条目限制。
<select name="maritalstatus" id="maritalstatus" onchange="maritalStatusChange();">
function maritalStatusChange()
{
var getValue = document.getElementById("maritalstatus").value;
alert(getValue);
}