Javascript 使用jQuery启用和禁用复选框
基本上我有四个HTML复选框。如果勾选了值为“1”的,我想禁用值为“2”的,反之亦然。其余复选框正常工作 我几乎把它放在那里了,但当我解开盒子时,它不会再次启用另一个 HTML 您可以使用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
$(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 );
}
});