2016-09-17 44 views
0

我想讓我的ajax json腳本更新我的HTML複選框,其中包含來自我的數據庫的值,但無法使其工作。請任何幫助。我想讓jquery使用ajax更新複選框

下面是JS。

\t setInterval(function(){ 
 
\t \t $.ajax({ 
 
\t \t \t url:"databaseQuiry.php", 
 
\t \t \t dataType:"json", 
 
\t \t \t success: function(data){ 
 
\t \t $('niamh').prop('checked', data.niamhswitch); 
 
\t \t \t } 
 
\t \t }); 
 
\t }, 2000);

的HTML選中複選框我想更新低於

\t <div class="niamhSwitch"> 
 
\t \t <label class="switch"> 
 
\t \t <input type="checkbox" name="niamh" id="switch" value="1"> 
 
\t <div class="slider round"></div> 
 
\t </label></div>

我知道,JSON是返回niamhswitch 「:」 1" ,所以我值從我的數據庫返回1,但我怎麼得到這個使複選框becom檢查值1,並取消選擇值0.我曾嘗試使用類和名稱的元素選擇器,但都不起作用。

+0

使用'$('#switch')'而不是'$('niamh')'。 – Azim

回答

2

您的選擇器的錯誤$('niamh')將尋找標籤名稱爲'niamh'的元素。您需要$('[name=niamh]')$('#switch')

+0

非常感謝。我新我可以使用該ID,但我有3個相同的ID開關。我想要使​​用類或名稱選擇器。 $('[name = niamh]')的工作表示感謝 – user2669997

+0

這個工作,但只有當json的返回值爲1時。當它爲0時,交換機不更新爲未選中狀態。你知道爲什麼這不起作用,或者我需要提出這個問題作爲一個單獨的問題 – user2669997

+0

是的,因爲0被解釋爲一個falsy值,當傳遞給jQuery的'prop'()時,它被解釋爲false,即DON '檢查。 1是真實的,即DO檢查。此外,您不能擁有多個具有相同ID的元素 - 這是無效的,並且可能會導致選擇器出現問題。 – Utkanos