我有两个单选按钮用于选择汽车。只有两个选项:您可以选择一辆宝马汽车或者您可以选择一辆梅赛德斯汽车。
这是我的HTML代码:
<label>Please specify car:</label>
<label>BMW</label>
<input type="radio" name="is_BMW" id="is_BMW" onchange="valueChanged()" />
<label>Mercedes</label>
<input type="radio" name="is_Mercedes" id="is_Mercedes" onchange="valueChanged()" />
这个事件的JavaScript函数是valueChanged(),非常简单明了:
<script>
function valueChanged(){
if(document.getElementById("is_BMW").checked == true)
{
document.getElementById("is_Mercedes").checked = false;
}
else
{
document.getElementById("is_BMW").checked = false;
}
}
</script>
我遇到的问题是:每当我点击宝马单选按钮时,它被固定了,我无法切换到奔驰。
如果我先点击梅赛德斯收音机按钮,然后我就能切换到宝马,但是,一旦我选择了宝马,我就不能再改变到梅赛德斯并且它被固定了。
我的Javascript有什么问题吗? 因为我的Javascript知识告诉我,我的Javascript代码没有任何问题。 还是其他问题? 我应该使用jQuery来解决这个问题吗?
编辑-1:我很抱歉忘记了一个关键点 - 我需要在单选按钮的onchange事件中传递值。 对于那个即时回答我的人,我特别抱歉,我应该更早地提到这一点,我的错。
因此,我的实际Javascript代码应该像这样:
<script>
function valueChanged(){
if(document.getElementById("is_BMW").checked == true)
{
document.getElementById("is_Mercedes").checked = false;
document.getElementById("is_BMW").value = 1;
document.getElementById("is_Mercedes").value = 0;
}
else
{
document.getElementById("is_BMW").checked = false;
document.getElementById("is_BMW").value = 0;
document.getElementById("is_Mercedes").value = 1;
}
</script>
for
属性(或者需要包裹它们的输入)。它们还应该在输入框的右侧,而不是左侧。http://www.w3.org/TR/WCAG20-TECHS/H44.html - danielnixon