jQuery属性禁用不工作
我试图禁用和删除jQuery中的一些属性,但当值被更改并设置为禁用某些字段时,它似乎不起作用。此脚本在下拉框的值更改时运行 此处代码如下:jQuery属性禁用不工作,jquery,Jquery,我试图禁用和删除jQuery中的一些属性,但当值被更改并设置为禁用某些字段时,它似乎不起作用。此脚本在下拉框的值更改时运行 此处代码如下: $(".tipo_frete").change(function(){ if($(this).val() == "FOB" ){ $(".id_transp").attr("disabled"); $(".id_transp").val(""); $(".nome_transp").attr("dis
$(".tipo_frete").change(function(){
if($(this).val() == "FOB" ){
$(".id_transp").attr("disabled");
$(".id_transp").val("");
$(".nome_transp").attr("disabled");
$(".nome_transp").val("");
$(".valor_frete").attr("disabled");
$(".valor_frete").val("");
}else{
$(".id_transp").removeAttr("disabled");
$(".valor_frete").removeAttr("disabled");
$(".nome_transp").removeAttr("disabled");
}
});
我在这里做错什么了吗?使用
禁用
使能
注:$.id\u transp.attr已禁用;必须传递两个参数,如$.id\u transp.attrdisabled、true
简化代码
$(".tipo_frete").change(function () {
if ($(this).val() == "FOB") {
$(".id_transp,.nome_transp,.valor_frete").val("").prop("disabled", true);
} else {
$(".id_transp,.nome_transp,.valor_frete").prop("disabled", false);
}
});
使用
禁用
使能
注:$.id\u transp.attr已禁用;必须传递两个参数,如$.id\u transp.attrdisabled、true
简化代码
$(".tipo_frete").change(function () {
if ($(this).val() == "FOB") {
$(".id_transp,.nome_transp,.valor_frete").val("").prop("disabled", true);
} else {
$(".id_transp,.nome_transp,.valor_frete").prop("disabled", false);
}
});
元素等于选择器'.id_transp'
var $element = $(...);
$element.prop('disabled', true);
$element.attr('disabled', true);
// The following do not require jQuery
$element.get(0).disabled = true;
$element.get(0).setAttribute('disabled', true);
$element[0].disabled = true;
$element[0].setAttribute('disabled', true);
元素等于选择器'.id_transp'
var $element = $(...);
$element.prop('disabled', true);
$element.attr('disabled', true);
// The following do not require jQuery
$element.get(0).disabled = true;
$element.get(0).setAttribute('disabled', true);
$element[0].disabled = true;
$element[0].setAttribute('disabled', true);
是,attr属性中缺少另一个参数。 试试这个:
$(".tipo_frete").change(function(){
if($(this).val() == "FOB" ){
$(".id_transp").attr("disabled","disabled");
$(".id_transp").val("");
$(".nome_transp").attr("disabled","disabled");
$(".nome_transp").val("");
$(".valor_frete").attr("disabled","disabled");
$(".valor_frete").val("");
}else{
$(".id_transp").removeAttr("disabled");
$(".valor_frete").removeAttr("disabled");
$(".nome_transp").removeAttr("disabled");
}
});
但是,当您删除这些attibutes时,您只在其中保留一个参数,它将被删除 是,attr属性中缺少另一个参数。 试试这个:
$(".tipo_frete").change(function(){
if($(this).val() == "FOB" ){
$(".id_transp").attr("disabled","disabled");
$(".id_transp").val("");
$(".nome_transp").attr("disabled","disabled");
$(".nome_transp").val("");
$(".valor_frete").attr("disabled","disabled");
$(".valor_frete").val("");
}else{
$(".id_transp").removeAttr("disabled");
$(".valor_frete").removeAttr("disabled");
$(".nome_transp").removeAttr("disabled");
}
});
但是,当您删除这些attibutes时,您只在其中保留一个参数,它将被删除 在jQuery中,当您想获取属性值时,必须使用.attr'key'或.prop'key'和一个参数,但当您想为属性设置值时,必须设置两个参数,如.attr'key'、.value'或.prop'key'、.value'
在jQuery中,当您想要获取属性值时,必须使用带有一个参数的.attr'key'或.prop'key',但当您想要为属性设置值时,必须设置两个参数,如.attr'key',value'或.prop'key',value'
这是一个完整的。它试图在removeAttr的参数中传递两个参数,而不是在attr中传递。谢谢它成功了,这是一个完整的过程。它试图在removeAttr的参数中传递两个参数,而不是在attr中传递。谢谢根据答案,我认为这个问题没问题,所以我将投票重新开始。不过,我们会看到,它可能会因为有太多的利基解决方案而关闭。根据答案,我认为这个问题是可以的,所以我将投票重新打开。不过,我们将拭目以待,它可能接近于有太多的利基解决方案。