[英]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.