Jquery函数onclick

时间:2012-06-13 13:17:30

标签: jquery onclick html

如何使用span添加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-code:

 <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>

我的错误在哪里?我怎么能正确地做到这一点?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

将jQuery on()方法与事件click一起使用而不是更改:

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

但请注意,这可能会影响您通过内联onclick="..."在您的范围内定义的点击事件!