2014-05-20 55 views
0

的編輯按鈕,選擇點擊只想提交如果複選框選中的形式,不要當0或2個以上的複選框選中如何提交表單只有一個複選框是用java腳本

提交

我下面的代碼是不工作

$("#editbtn_id").click(function() { 
    var cnt = 0; 
    var checkbox_value = ""; 
    $(":checkbox").each(function() { 
     var ischecked = $(this).is(":checked"); 
    }); 

    if (ischecked) { 
     checkbox_value += $(this).val(); 
     cnt = cnt + 1; 


     if (cnt == 0 || cnt > 1) { 
      alert(cnt); 
      alert("Please select one Test case"); 
      return false; 
     } 
    } 
    return false; 
}); 

HTML

<form action="/editSingletest/{{ testcase.id }}" method="post" onsubmit="return" > 
<input type="checkbox"/> 
</form> 
+2

這不是一個答案,但它看起來像你實際上需要單選按鈕。 –

+0

「* ...超過2複選框檢查... *」這意味着2應該可以嗎?問題標題看起來與你的要求一致嗎? – Abhitalks

回答

0

您可以在這裏下面的代碼

$("#editbtn_id").click(function(){ 
var cnt=0; 
var checkbox_checked_count = 0; 
var form_submit = false; 
    $(":checkbox").each(function() { 
     if($(this).is(":checked")) { 
     checkbox_checked_count++ 
     } 
    }); 
if(checkbox_checked_count == 1) { 
    form_submit = true; 
} 
else if(checkbox_checked_count > 1) { 
alert("Please select one Test case"); 
} 
alert(form_submit) 
$("form").submit();  
}); 

檢查工作示例的這個fiddle

0

你的計數器是錯誤的循環,應該是這樣的:

$("#editbtn_id").click(function(){ 
     var cnt=0; 
     var checkbox_value = ""; 
     $(":checkbox").each(function() { 
      var ischecked = $(this).is(":checked"); 
      if (ischecked){ 
       checkbox_value += $(this).val(); 
       cnt=cnt + 1 ; 
      } 
     }); 



     if(cnt==0 || cnt > 1){ ... }  

}); 
0

試試這個實現這一目標

$("#editbtn_id").click(function (e) { 
    if($('form input[type="checkbox"]:checked').length == 1){ 
     $('form').submit(); 
    } 
    else{ 
     e.preventDefault(); 
    } 
}); 

for'form'use your form se lector