Javascript 仅选中一个复选框
我有一个复选框“是”和“否”,所以我希望用户只能使用一个复选框。因此,如果用户勾选“是”,则将清除“否”。如果勾选“是”,则将清除“否”Javascript 仅选中一个复选框,javascript,razor,Javascript,Razor,我有一个复选框“是”和“否”,所以我希望用户只能使用一个复选框。因此,如果用户勾选“是”,则将清除“否”。如果勾选“是”,则将清除“否” <input type="checkbox" id="Check1" value="Value1" onclick="selectOnlyThis(this.id)" style="margin:1em 1em 5px 5px" @(ViewBag.Status == "Yes" ? " checked" : "")/>Yes &
<input type="checkbox" id="Check1" value="Value1" onclick="selectOnlyThis(this.id)" style="margin:1em 1em 5px 5px" @(ViewBag.Status == "Yes" ? " checked" : "")/>Yes
<input type="checkbox" id="Check2" value="Value1" onclick="selectOnlyThis(this.id)" style="margin:1em 1em 5px 5px" @(ViewBag.Status == "No" ? " checked" : "")/>No
<script>
function selectOnlyThis(id) {
for (var i = 0; i <= 4; i++) {
document.getElementById("Check" + i).checked = false;
}
document.getElementById(id).checked = true;
}
</script>
是
不
功能选择仅此(id){
对于其他人提到的(var i=0;i,您描述的是单选按钮的行为。但是,也可以使复选框的行为与此类似
上述代码执行以下操作:
$('input:checkbox')
-选择checkbox类型的所有输入元素
。不是($(这个))
-除了这个
.prop('checked',false)
-取消选中复选框
此代码使用jQuery javascript库,因此必须引用此库(通常在文档的head标记中),因此:
正如其他人提到的,您描述的是单选按钮的行为。但是,也可以使复选框的行为与此类似
上述代码执行以下操作:
$('input:checkbox')
-选择checkbox类型的所有输入元素
。不是($(这个))
-除了这个
.prop('checked',false)
-取消选中复选框
此代码使用jQuery javascript库,因此必须引用此库(通常在文档的head标记中),因此:
在这一部分中使用HTML5会更有用/更容易
如果您选择HTML5,下面的代码将起作用,但如果您决定不使用它,则不会有帮助
<input type="checkbox" name="<name>" value="<value"><*explanation*><br/><br/>
</form>
</div>
</div>
</body>
在这一部分中使用HTML5会更有用/更容易
如果您选择HTML5,下面的代码将起作用,但如果您决定不使用它,则不会有帮助
<input type="checkbox" name="<name>" value="<value"><*explanation*><br/><br/>
</form>
</div>
</div>
</body>
问题在于您试图访问不存在的元素
循环从0到4,但元素是Check1
和Check2
因此,当它试图设置Check0
(不存在)的checked
属性时,它会抛出一个错误并停止执行
使用
功能仅选择此(id){
console.log(id);
对于(var i=0;i而言,问题在于您试图访问不存在的元素
循环从0到4,但元素是Check1
和Check2
因此,当它试图设置Check0
(不存在)的checked
属性时,它会抛出一个错误并停止执行
使用
功能仅选择此(id){
console.log(id);
对于(var i=0;i),您想要的行为是“单选”,而不是“复选框”,为什么不使用单选按钮?您想要的行为是“单选”,而不是“复选框”,为什么不使用单选按钮?啊,对了。谢谢您没有投反对票。我会留下答案,以防OP选择走这条路线(我自己早期的js问题最好由jQuery回答,现在我更喜欢它)。是的..jQuery非常方便,但如果你只需要设置复选框,那就太过分了;)啊,对了。谢谢你没有投反对票。我会留下答案,以防OP选择走这条路(我自己早期的js问题最好由jQuery回答,现在我更喜欢它).yep..jquery非常方便,但如果只需要设置复选框,那就太过分了;)
<input type="checkbox" name="<name>" value="<value"><*explanation*><br/><br/>
</form>
</div>
</div>
</body>
function selectOnlyThis(id) {
console.log(id);
for (var i = 0; i <= 4; i++) {
var element = document.getElementById("Check" + i); // get element
if (element){ // if element was found only the set its checked property
document.getElementById("Check" + i).checked = false;
}
}
document.getElementById(id).checked = true;
}
for (var i = 1; i <= 2; i++) {