[英]Linking checkbox's checked state to a value of a textbox
想知道如何将复选框的选中状态链接到从sql查询返回的文本字段上的值。 用户从表单上的选择/菜单中选择一个值后,将更新文本框值。 选择菜单选项的值用作查询中的过滤器,效果很好。
if ($('#textbox').val("TRUE")
{ $('#mycheckbox').prop('checked',true);}
else
{
$('#mycheckbox').prop('checked',false);
}
问题在于if语句适用于用户选择的先前值。 因此,即使文本框值是最新的,它也总是落后一格。 尽管文本框的值是窗体上的当前值,但是当我创建一个显示文本框值的警报框时,它也位于后面。 因此,如果if语句正常,则仅使用文本框的上一个值而不是当前值。 有什么办法使这种潮流?
首先,假设这是一个错字,您的代码中就有语法错误。
$('#textbox').val("TRUE")
所做的工作是将textbox的值设置为TRUE 。
因此,无论何时执行代码块,您都将选中复选框,文本框为TRUE值。
如果您的目标是根据文本框的值更新复选框。 当您实际设置/更新文本框的值时,可以输入以下一行代码而不是四行代码。
$('#mycheckbox')。prop('checked',$('#textbox')。val()==“ TRUE”)
更新资料
正如您提到的那样,您是在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");
});
响应基于猜测。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.