Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery启用和禁用复选框_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery启用和禁用复选框

Javascript 使用jQuery启用和禁用复选框,javascript,jquery,Javascript,Jquery,基本上我有四个HTML复选框。如果勾选了值为“1”的,我想禁用值为“2”的,反之亦然。其余复选框正常工作 我几乎把它放在那里了,但当我解开盒子时,它不会再次启用另一个 HTML 您可以使用$(this).is(“:checked”)在道具上分配(“禁用”。 $(函数(){ $('input').change(函数(){ var val=$(this.val(); 如果(val=“一”){ $(“input[value='two']”)prop(“disabled”,$(this).is(“:c

基本上我有四个HTML复选框。如果勾选了值为“1”的,我想禁用值为“2”的,反之亦然。其余复选框正常工作

我几乎把它放在那里了,但当我解开盒子时,它不会再次启用另一个

HTML

您可以使用
$(this).is(“:checked”)
道具上分配(“禁用”。

$(函数(){
$('input').change(函数(){
var val=$(this.val();
如果(val=“一”){
$(“input[value='two']”)prop(“disabled”,$(this).is(“:checked”);
}否则,如果(val==“两个”){
$(“input[value='one']”)prop(“disabled”,$(this).is(“:checked”);
}
});
});

您可以使用
$(this).is(“:checked”)
道具上分配(“禁用”。

$(函数(){
$('input').change(函数(){
var val=$(this.val();
如果(val=“一”){
$(“input[value='two']”)prop(“disabled”,$(this).is(“:checked”);
}否则,如果(val==“两个”){
$(“input[value='one']”)prop(“disabled”,$(this).is(“:checked”);
}
});
});

我几乎把它放在那里了,但当我解开盒子时,它不会再次启用另一个

您尚未在处理程序中处理该情况,所有对
prop
的调用都使用
true
作为值(例如,它们都禁用)

相反,使用
this.checked
在选中当前复选框时使用
true
,否则使用
false

$(“输入”).change(函数(){
var val=$(this.val();
如果(val=“一”){
$(“input[value='two']”)prop(“disabled”,this.checked);
}
否则,如果(val==“两个”){
$(“input[value='one']”)prop(“disabled”,this.checked);
}
});

我几乎把它放在那里了,但当我解开盒子时,它不会再次启用另一个

您尚未在处理程序中处理该情况,所有对
prop
的调用都使用
true
作为值(例如,它们都禁用)

相反,使用
this.checked
在选中当前复选框时使用
true
,否则使用
false

$(“输入”).change(函数(){
var val=$(this.val();
如果(val=“一”){
$(“input[value='two']”)prop(“disabled”,this.checked);
}
否则,如果(val==“两个”){
$(“input[value='one']”)prop(“disabled”,this.checked);
}
});

这会很神奇

注意:您应该传递
e
-event参数,并检查其状态
e.target.checked

这会很神奇


注意:您应该传递
e
-event参数,并检查其状态
e.target.checked

这应该适用于您:

$(“输入”).change(函数(){
var val=$(this.val();
如果(val=“一”){
如果(!$(“输入[value='two']”)是('[disabled]'){
$(“input[value='two']”)prop(“disabled”,true);
}否则{
$(“input[value='two']”)prop(“disabled”,false);
}
}
否则,如果(val==“两个”){
如果(!$(“输入[value='one']”)是('[disabled]')){
$(“input[value='one']”)prop(“disabled”,true);
}否则{
$(“input[value='one']”)prop(“disabled”,false);
}
}
});

这应该适合您:

$(“输入”).change(函数(){
var val=$(this.val();
如果(val=“一”){
如果(!$(“输入[value='two']”)是('[disabled]'){
$(“input[value='two']”)prop(“disabled”,true);
}否则{
$(“input[value='two']”)prop(“disabled”,false);
}
}
否则,如果(val==“两个”){
如果(!$(“输入[value='one']”)是('[disabled]')){
$(“input[value='one']”)prop(“disabled”,true);
}否则{
$(“input[value='one']”)prop(“disabled”,false);
}
}
});

您需要使用复选框的当前状态。为此,您可以使用功能以及标记
:checked

此选项使用将其缩短

使用您不会混淆禁用/启用其他复选框的值和逻辑。因此,复选框可以处理任何值,避免修改禁用/启用逻辑

//这样,您就分离了禁用/启用逻辑。
$(“输入”).change(函数(){
var target=$(this.data('target');
if(target)$(“input[data disenable='“+target+']”)prop(“disabled”,$(this).is(':checked'));
});

您需要使用复选框的当前状态。为此,您可以使用功能以及标记
:checked

此选项使用将其缩短

使用您不会混淆禁用/启用其他复选框的值和逻辑。因此,复选框可以处理任何值,避免修改禁用/启用逻辑

//这样,您就分离了禁用/启用逻辑。
$(“输入”).change(函数(){
var target=$(this.data('target');
if(target)$(“input[data disenable='“+target+']”)prop(“disabled”,$(this).is(':checked'));
});


您确定不能使用“radio”类型的输入吗?这些输入将按照您本机的要求运行。请参阅:@KIKOSoftware一旦选择了一个无线电组,您就不能取消选择,这就是区别。@connexo:True,但您可以使用第三个选项。但是,用户1837290想要禁用和启用输入,这是不同的t、 您确定不可能使用“radio”类型的输入?这些输入将按您希望的本地方式运行。请参阅:@KIKOSoftware您无法在完成p后取消选择无线电组
<form>

<input type="checkbox" name="product[]" value="one">

<input type="checkbox" name="product[]" value="two">

<input type="checkbox" name="product[]" value="three">

<input type="checkbox" name="product[]" value="four">

</form>
$( "input" ).change(function() {
  var val = $(this).val();

    if(val == "one") {

     $("input[value='two']").prop( "disabled", true );

  }

  else if(val== "two") {

    $("input[value='one']").prop( "disabled", true );

  }

    });
$( "input" ).change(function(e) {
    var val = $(this).val();
    if(val == "one") {
        $("input[value='two']").prop( "disabled", e.target.checked );
    }

    else if(val== "two") {
        $("input[value='one']").prop( "disabled", e.target.checked );
    }
});