2012-08-06 121 views
2

我一直在嘗試根據我在這裏發現的不同的方法幾個小時,無濟於事。有人可以引導我走向正確的方向嗎?當選中或取消選中複選框時,我想輸入確認信息,然後使複選框根據用戶選擇返回選中或取消選中。謝謝!確認框後檢查複選框

$('input:checkbox').click(function(){ 
    var checked = $("input:checked").length; 
    if (checked == 0){ 
if(confirm('Are you sure you want to discontinue this program?')){ 
    (':checkbox:checked').removeAttr('checked'); 
} 
    } else 

    { 
if(confirm('Are you sure you want to resume use of this program?'))    
(':checkbox:checked').attr('checked'); 
    } 

HTML

<table> 
    <tr> 
    <td><input name="input" type="checkbox" value="" /></td> 
    <td>Because We Care</td> 
    </tr> 
     <tr> 
        <td><input name="" type="checkbox" value="" /></td> 
        <td>Some Unused Program</td> 
        </tr> 

+0

請之前發佈您的問題http://stackoverflow.com/questions/5944889/intercepting-checkbox-click-to-confirm-the-change正確谷歌 – 2012-08-06 16:38:44

回答

1

當執行監聽該複選框已被選中或取消選中。你應該做的是:

  • 當用戶確認無能爲力
  • 當用戶不確認撤銷已做了什麼
6

有在你的代碼中的一些語法&邏輯缺陷,嘗試這樣的:

$('input:checkbox').click(function(){ 
    var checked = $(this).is(':checked'); 
    if(checked) { 
     if(!confirm('Are you sure you want to resume use of this program?')){   
      $(this).removeAttr('checked'); 
     } 
    } else if(!confirm('Are you sure you want to discontinue this program?')){ 
     $(this).attr("checked", "checked"); 
    } 
}​);​ 

JSFIDDLE

+0

感謝您的快速反應和解釋!但是,在檢查複選框時,我無法獲得確認框。還有什麼我做錯了嗎? – squirc77 2012-08-06 17:36:54

+0

回報Des ...謝謝!我實際上已經開始工作了。一次只查看一行代碼,觀察錯誤並最終得到它。這是所有支架掛我!我很感謝你的幫助! – squirc77 2012-08-06 19:15:20

0

這應該正是你要尋找的:

<!doctype html> 
<html> 
<input id="chkTest" type="checkbox" /> 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script> 
<script type="text/javascript"> 
    $("#chkTest").change(function(evt){ 
     var attr = $(evt.target).attr("checked") 
     if (typeof attr !== 'undefined' && attr !== false){ 
      alert("Checked"); 
     } 
     else{ 
      alert("Not Checked"); 
     } 
    }); 
</script> 
</html> 
+0

謝謝你的幫助,雖然以上都不幫助我得到確認的框。我正在理解des blang32以上的代碼。任何解釋將不勝感激。對於js和jquery來說都是非常新鮮的東西......認真地學習兩者。這個很難(硬! :d – squirc77 2012-08-06 17:38:19