2011-07-02 67 views
1

我有一些代碼,看起來像這樣:使用一個href點擊複選框來觸發一個事件

$('#clearSelections').click(function(e) { 
    $("#isAcheckbox").removeAttr("checked"); 
    redrawTableofListings(); 
});  


<a href="#" id="clearSelections">clear selections</a> 

<input type="checkbox" id="isAcheckbox" checked> 

// when the user clicks on the checkbox, doSomeThing happens. 

基本上,當用戶點擊的href,我想使用jQuery來讓href手柄複選框的方式與用戶只需在複選框中插入支票的方式相同。

這是否有意義?當我使用「removeAttr」時,它只是刪除複選框,並且不重繪表單。

在此先感謝!並在本週末與煙花一起安全!

回答

0

使用

$("#isAcheckbox").trigger('click'); 
1

似乎你總是希望取消鏈接被點擊時,該複選框(至少這是我通過文字明確選擇推斷)。那麼這將做到這一點:

$('#clearSelections').click(function(e) { 
    e.preventDefault(); // don't follow the link 
    $("#isAcheckbox").prop("checked", false); 
    redrawTableofListings(); 
}); 

DEMO

+0

任何理由使用e.preventDefaults(),而不是簡單地返回false?我問,因爲我在 – jdc0589

+0

@ jdc0589之前沒有使用preventDefaults:'return false'也可以防止事件冒泡。我個人認爲'preventDefault()'更具描述性,並且由於jQuery統一了接口,所以您不必擔心IE。 [這篇文章可能值得一讀](http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/),我敢打賭,在SO上也有一些'preventDefault vs return false'的問題。 –

+0

謝謝,請看看。如果你的函數有多個返回點,我想這也讓你不太容易忘記返回false。那肯定會讓我以前陷入困境。 – jdc0589

相關問題