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

对 span使用click事件而不是 change 事件,并将提交绑定功能移动到文档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 回答
1

对事件使用 jQueryon()方法click而不是更改:

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

但是请注意,这可能会干扰您通过内联在跨度上定义的点击事件onclick="..."

于 2012-06-13T13:21:53.867 回答