2016-10-11 8 views
0

が、私はこのように設計されたチェックボックスを持って、スタイリングしまし確認することはできません。戻り値値< = 0の場合、チェックボックスをオンにする必要があります。チェックボックス、それは

このjqueryの私はそれをオフにすると、未チェックのオンスクリーンとして示して

$("body").on('change', '#test', function(){ 
    var check = $(this).attr('id') 
    if (document.getElementById(check).checked) { 
     $.ajax({ type: "GET", 
      url: "do.php?mode=check=" + check, 
      async: true, 
      success : function(text) { 
      console.log (text) 
      if (text === '0') 
       $('#test').attr('checked', false); 
      } 
     }); 
    } 
}) 

FIDDLE

がどのようにスタイルのチェックボックスを更新することができます。..それが動作しません使用していますか?

ありがとうございました

+0

'console.log(text)'が返すものを教えてください。私は、返された "text"変数が0または1のノードを含むオブジェクトであると感じています。 –

+0

これは0を示し、それはPHPエコーで返されます。 – Tom

+1

私は参照してください。 attr()関数を使用する代わりに '$("#test ")。prop(" checked "、false)'を試すことができますか? .attr()関数は、jQuery 1.6として推奨されていません。 –

答えて

1

here無効について$(element).attr()関数はjQueryの1.6で廃止されます。その後、ような何かを行います。代わりに$("#test").prop("checked",false)を使用してください。 jquery documentationから

jQueryの1.6のよう

、.ATTR()メソッドが設定されていない属性の未定義返します。フォーム要素のチェック、選択、または無効の状態などのDOMプロパティを取得および変更するには、.prop()メソッドを使用します。

+1

それは私のためにそれを分類していただきありがとうございます。 – Tom

0

disabled属性を使用してください。

<input type="checkbox" name='test' id='test' value="1" disabled /> 

これにより、チェックされていないチェックボックスが無効になります。ユーザーに再度確認させたい場合は、JavaScriptで削除することができます。しかし、あなたのケースでは、私は手動のjQueryのチェックと一緒に行くだろう。

デフォルトでは無効になっており、ユーザーがクリックするとすぐにajaxリクエストが送信されます。

if(callback =< 0) { $('#checkbox').prop('checked', true) } 

もっと

関連する問題