0

スパンでjquery関数onclickを追加するには?

今、私はそれに送信機能を追加したいようなスパンを持っています:

    <input type="radio" name="language" id="engl" value="Engl" checked>
    <span class="division" onclick="document.getElementById('engl').checked = true">English</span>

私は自分のコードに次のことを追加しようとしました:

    $('span.division').change(function() {
    $('#search-form').submit();
    });

しかし、結果はありません。もちろん、「名前」を「スパン」に追加しようとしましたが、結果もありません。ここに私のjqueryコードがあります:

 <script type='text/javascript'>
    $(function(){
    $('input[name=language]').change(function() {
    $('#search-form').submit();
});
    $("form#search-form").submit(function(){
    $("#results").fadeOut();
    $.ajax({
        type:"GET",
        data: $(this).serialize(),
        url: "search.php",
        success: function(msg)
    {
    $("#results").html(msg);
    $("#results").fadeIn();
    }
    });
    return false;
    });
});
 </script>

私の間違いはどこですか?そして、どうすれば適切に行うことができますか?

4

2 に答える 2

1

変更の代わりにon()イベントでjQuery メソッドを使用します。click

$('span.division').on("click", function() {
   $('#search-form').submit();
});

ただし、これは、インラインonclick="..."!

于 2012-06-13T13:21:53.867 に答える
1

clickスパンの変更イベントの代わりにイベントを使用し、送信バインド機能をドキュメントに移動しますready。私はあなたのコードをクリーンアップしました。これはうまくいくはずです。

<script type='text/javascript'>
    $(function(){

       $('span.division').click(function() {
          $('#search-form').submit();
       });

       $("form#search-form").submit(function(e){
          e.preventDefault();
          $("#results").fadeOut();
            $.ajax({
               type:"GET",
               data: $(this).serialize(),
               url: "search.php",
               success: function(msg){
                          $("#results").html(msg).fadeIn();                       
                     }
            }); 
      }); 

  });
 </script>
于 2012-06-13T13:19:12.417 に答える