2012-06-13 90 views
0

如何添加jquery函數onclick 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代碼:

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

我的錯誤在哪裏?我怎麼能正確地做到這一點?

+0

範圍沒有改變:)它點擊 – deerua

回答

1

使用jQuery的on()方法與事件click,而不是變化:但是

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

注意,這可能與您通過內嵌onclick="..."你的跨度定義click事件干擾!

+0

非常感謝!多麼愚蠢的錯誤。我意識到這太晚了。 – zmogusnamas

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

謝謝!它運作良好。 – zmogusnamas

+0

@zogogusnamas:不客氣。 – Shyju