我添加了以下代码以禁用取消选中jQuery中的复选框的下拉列表,但复选框未保留值:
$(document).ready(function(){
//on check of the checkbox,the dropdown is enabled or disabled.
$("[id$=chkCashSettlementType]").toggle(
function()
{
$("[id$=ddlSettlementCurrency]").attr('disabled',$("[id$=chkCashSettlementType]").not(':checked'));
$("[id$=chkCashSettlementType]").attr('checked',false);
},
function()
{
$("[id$=ddlSettlementCurrency]").removeAttr('disabled');
$("[id$=chkCashSettlementType]").attr('checked',true);
}
)
});
我哪里出错了?
答案 0 :(得分:0)
我不确定,但是使用checkbox和toggle()会出现问题。试试这个:
$(document).ready(function()
{
//on check of the checkbox,the dropdown is enabled or disabled.
$("[id$=chkCashSettlementType]").click(function()
{
if($(this).attr('checked'))
{
$("[id$=ddlSettlementCurrency]").attr('disabled','');
}
else
{
$("[id$=ddlSettlementCurrency]").attr('disabled', 'disabled');
}
});
});
答案 1 :(得分:0)
在您的代码中,为什么要修改切换方法中的复选框状态?难道不会让状态恢复吗?
尝试类似的事情,
$(document).ready(function()
{
$("[id$=chkCashSettlementType]")
.click(function()
{
//'this' refers to your checkbox.
$("[id$=ddlSettlementCurrency]").attr('disabled', $(this).checked);
}
);
});
答案 2 :(得分:0)
您可以使用“更改”事件代替“点击”或“切换”事件,这样可以解决您的问题。
$("[id$=chkCashSettlementType]").change(
function()
{
//.....
}