1

私はjQueryが初めてです。これまで実際に使用したことはありません。チェックボックス用の HTML のスニピットがあります。

<h4>Caterories</h4>
         <ul>
          <fieldset id="events">
              <li>    
                <input name="" type="checkbox" value="annual" checked="checked" />   
                Annual Events</li>    
              <li>   
                <input name="" type="checkbox" value="business" checked="checked"/>    
                Business Development, Marketing & Management</li>    
                <li>    
                <input name="" type="checkbox" value="enviro" checked="checked"/>
                Environment, Health & Safety</li>                  
              <li>    
                <input name="" type="checkbox" value="hr" checked="checked"/>
                Human Resources</li>
              <li>    
                <input name="" type="checkbox" value="it" checked="checked"/>    
                Information Technology</li>                     
              <li>    
                <input name="" type="checkbox" value="trans" checked="checked"/>
                Transportation</li>
           </fieldset>
          </ul>

私はjqueryのスニペットを持っています:

<script language="JavaScript">

$(document).ready(function() {

    $(".topnav").accordion({
        accordion:'true',
        speed: 500,
        closedSign: '',
        openedSign: ''
    });

    $("events").click(function(){
        alert("HI");
       var pClass = '.'+$(this).val();
       if ($(this).is(':checked')) {
             $(pClass).fadeIn();
             $(pClass).show();
          } else {
              $(pClass).fadeOut();
              $(pClass).hide();
          }
    })

});


</script>

チェックボックスのカテゴリに対応するイベントのリストがあります。

<div class="news_box hr">
   <div class="date">01<br /> 
   Jan.<br /><br>
</div>

<div class="news_box annual">
   <div class="date">02<br /> 
   Jan.<br /><br>
</div>

<div class="news_box it">
   <div class="date">12<br /> 
   Jan.<br /><br>
</div>
<div class="news_box hr">
   <div class="date">20<br /> 
   Jan.<br /><br>
</div>

チェックボックスのチェックによってトリガーされない間違った場所にクリック機能があるのではないかと心配しています。助言がありますか?

4

2 に答える 2

1

変化する:

$("events").click(function(){

に:

$("#events input:checkbox").click(function(){

注: 「イベント」の前のドットは、ID を正しく示します。

更新
これは、次のようにより適切に行われます。

$("#events input:checkbox").on('click', function(){ ...

参照: .on('click') と .click() の違い

于 2012-08-08T14:00:02.903 に答える
0
$("#events > li > input").click(function(){

    // Your code

})

または、すべての入力フィールドにクラスを追加して、クリック機能を直接割り当てることもできます。

$(".inputclass").click(function(){

    // Your code

})
于 2012-08-08T14:02:54.600 に答える