簡體   English   中英

將復選框的選中狀態鏈接到文本框的值

[英]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語句正常,則僅使用文本框的上一個值而不是當前值。 有什么辦法使這種潮流?

if您的陳述並未測試#textbox的值,則實際上是在設置值。

嘗試將您的if語句更改為:

if ($('#textbox').val() == "TRUE")

這是另一條可能有幫助的帖子

首先,假設這是一個錯字,您的代碼中就有語法錯誤。

$('#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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM