2016-09-17 4 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は、私が更新したいボックスをオンにした私は、JSONはniamhswitchを返していることを知っている

\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>

の下にある ":" 1" ので、私私のデータベースから戻ってきた値1を持っていますが、どのようにしてチェックボックスを作るのですか? eは値1をチェックし、値0はチェックされていません。classとnameの要素セレクタで処理しようとしましたが、どちらも動作しません。

+0

'$( 'niamh')'の代わりに '$( '#switch')'を使用してください。 – Azim

答えて

2

セレクタが間違っています$('niamh')は、タグ名が「niamh」の要素を探します。

$('[name=niamh]')または$('#switch')のいずれかが必要です。

+0

大変ありがとうございます。私は新しい私はIDを使用することができますが、私は同じIDを持つ3つのスイッチがあります。私はどちらかのクラスまたは名前セレクタを使いたいと思っていました。 $( '[name = niamh]')ありがとうございました – user2669997

+0

これは動作しますが、jsonからのリターンが1の場合にのみ有効です。0の場合、スイッチはチェックされないように更新されません。なぜこれが動作しないのか分かりませんか、別の質問としてこれを呼び出す必要がありますか? – user2669997

+0

0はjQueryの 'prop'()に渡されたときにfalseが解釈される偽の値として解釈されるため、 'Tチェック。 1は真実、すなわちDOチェックである。また、同じIDを持つ複数の要素を持つことはできません。無効なので、セレクタに問題が発生する可能性があります。 – Utkanos

関連する問題