jquery
  • checkbox
  • dynamic
  • 2017-12-09 4 views -1 likes 
    -1

    私はJQueryを使い慣れていて、本当に助けてくれてありがとう! は、私は、各チェックボックスをクリックしたときに、画像やアイコンが....クリックで変更したいその上にアイコンや画像を持っている動的なチェックボックス(チェックボックスが隠されている)...動的チェックボックスの画像を変更するにはどうすればよいですか?

    plcUserReq.Controls.Add(new LiteralControl(" 
    <div data-toggle='buttons' style='margin-top:-3px'> 
        <label class='btn' for='Lines' style='padding:0px 0px 0px 0px; margin:0px 0px 0px 0px'> 
        <input type='checkbox' autocomplete='off' name='chkbx' value='" + UID.ToString() + "'id='chk'"+ UID.ToString() + i.ToString() +"/> 
          <i class='btn fa fa-plus-square-o' aria-hidden = 'true'> 
           <img src='http://localhost:3162/images/moderator-red.gif'></i></label></div>")); 
    

    を持っています...

    これは私がしようとしているスクリプトです...

    $("[name='chkbx']").change(function() { 
         if ($(this).is(':checked')) 
          { 
          $(this).next().find('i').attr('class', 'btn fa fa-check-square-o'); 
          $(this).next().find('img').attr('src', 'http://localhost:3162/images/moderator-red.gif'); 
          } 
         else 
         { 
          $(this).next().find('i').attr('class', 'btn fa fa-plus-square-o'); 
          $(this).next().find('img').attr('src', 'http://localhost:3162/images/moderator-blue.gif'); 
         } 
    }); 
    

    何もチェックボックスのいずれかがクリックされたとき...私は、問題は私のjQueryを使っているものを把握するように見えることはできません起こりません。 。 助けてください!私は立ち往生している! (それはこのようになります)チェックするとhttps://jsfiddle.net/Lgxacm9m/3/

    JSFiddleのjQueryでhttps://jsfiddle.net/m278c236/1/

    答えて

    0

    #は、特定idによって要素を識別するために使用されます。チェックボックスにはidchkbxが含まれていませんが、namechkbxです。だから、:

    $("#chkbx").change(function() {

    は次のようになります。

    $("[name='chkbx']").change(function() {

    EDIT:イベントがまだ発射されていない場合、あなたのイベントハンドラは、チェックボックス要素がにロードされる前にバインドしようとすることは可能ですDOM。これは、ページ全体がレンダリングされた後にのみコードが実行されるようにすることで解決できます。次のようにこれを実現するために、あなたのコードを編集します。

    $(function() { 
        $(document).on("change", "[name='chkbx']", change(function() { 
         alert("At least the event is firing..."); 
         if ($(this).is(':checked')) 
         { 
          $(this).next().find('i').attr('class', 'btn fa fa-check-square-o'); 
          $(this).next().find('img').attr('src', 'http://localhost:3162/images/moderator-red.gif'); 
         } 
         else 
         { 
          $(this).next().find('i').attr('class', 'btn fa fa-plus-square-o'); 
          $(this).next().find('img').attr('src', 'http://localhost:3162/images/moderator-blue.gif'); 
         } 
        }); 
    }); 
    

    $(function() { })$(document).ready()

    +0

    はいの省略形です、私も、私は前に使っていた...この間違いに気づい()の代わりに次の()...編集を確認してください。 まだ動作していません! –

    +0

    あなたはそれが動作していないと言うとき、あなたは詳細を教えてくださいできますか?イベントは発砲していませんか?あなたのイベントハンドラの中の最初のコード行( 'if'ブロックの前)に' alert( "少なくとも起動します。";)を追加することで、起動しているかどうかを確認できます。 – nb1987

    +0

    申し訳ありませんが、私はそれが発砲していないことを意味しました... –

    関連する問題