想知道如何将复选框的checked状态链接到sql查询返回的文本字段上的值。用户从表单上的选择/菜单中选择值后,将更新文本框值。选择菜单选项的值用作查询中的过滤器,工作正常。
if ($('#textbox').val("TRUE")
{ $('#mycheckbox').prop('checked',true);}
else
{
$('#mycheckbox').prop('checked',false);
}
问题是if语句适用于用户选择的先前值。因此,即使文本框值是最新的,它也始终只需单击一下即可。虽然文本框的值在表单上是最新的,但当我创建一个显示文本框值的警告框时,它也落后了。所以if语句没问题,它只是使用文本框的前一个值而不是当前值。有什么办法让这个当前?
答案 0 :(得分:0)
答案 1 :(得分:0)
首先,您的代码中存在语法错误,假设这是一个错字。
$('#textbox').val("TRUE")
您正在做的是将文本框的值设置为 TRUE 。
因此,每当您的代码块执行时,您最终都会选中复选框,并使用 TRUE 值的文本框。
如果您的目标是根据文本框的值更新复选框。当您实际设置/更新文本框的值时,可以使用以下一个班轮代码而不是四行代码。
$(' #mycheckbox')。prop(' checked',$(' #textbox')。val()==" TRUE& #34)
<强>更新强>
正如您所说,您在ajax调用后设置了新值并且没有包含您的代码示例,我猜测,您的代码类似于:
$.ajax({
url: "your/url"
}).done(function(data) {
$('#textbox').val(data)
});
如果是,请将代码更新为
$.ajax({
url: "your/url"
}).done(function(data) {
$('#textbox').val(data);
$('#mycheckbox').prop('checked',$('#textbox').val() == "TRUE");
});
回复基于猜测。