2013-07-08 14 views
0

我正在尋找一個基於Codeigniter的解決方案,以便我可以從MySQL表中加載一個頁面,並在其中添加包含身份證背面簽名的複選框。我已經能夠加載5列10行的複選框的工作正常的頁面。Codeigniter - 將複選框限制爲9個選項,禁用其餘部分併發布到新頁面?

我無法做的是將選擇範圍限制爲50箇中的9個,並將複選框值發佈到另一個頁面。

如果使用jQuery使用下面的語句來禁用的選中框的休息:

「$ inputs.not(本).prop( '禁用',真正的);」

它只會發佈所選的最後一個選項。另一方面,如果我沒有禁用複選框或在限制之前提交,那麼該帖子可以在包含我選擇的認可的下一頁的數組上正常工作。我一直在嘗試很多方法來在Codeigniter中實現這一點,並尋找解決方案,但無濟於事。如果有人能幫助我,這將非常感激。我正在接近完成這個項目,並且一直在努力。

下面是我用,我已經在網上找到該腳本:

<script> 
$(document).ready(function() { 
$('input:checkbox').click(function(){ 
var $inputs = $('input:checkbox') 
if($(":checkbox").filter(':checked').length==9){ 
$inputs.not(this).prop('disabled',true); 
}else{ 
$inputs.prop('disabled',false); 
} 
}) 
}) 
</script> 

回答

0

當任何複選框被選中添加檢查類和限制時達到9然後,您可以做到這一點像禁用所有複選框,然後從已選中類的複選框中刪除禁用屬性

<script> 
$(document).ready(function() { 
$('input:checkbox').click(function(){ 
$(this).addClass("checked"); 
var $inputs = $('input:checkbox') 
if($(":checkbox").filter(':checked').length==9){ 
$("input[type=checkbox]").prop('disabled',true); 
$(".checked").removeAttr("disabled"); 

// submit the form 
}else{ 
$inputs.prop('disabled',false); 
} 
}) 
}) 
</script> 
+0

dianuj,謝謝您的回覆。我確實嘗試了你回覆的代碼,我得到一個'ReferenceError:input is not defined'。它出現在我去打第10個代言時。有任何想法嗎? –

+0

dianuj,我能夠找到什麼錯誤,我不得不在線: $(input [type = checkbox])。prop('disabled',true); 至 $('input [type = checkbox]')。prop('disabled',true); 再次感謝您的解決方案。我很欣賞它。 :) –

+0

@ChrisFallon對不起,我很着急,沒有意識到我錯過了報價:) –

相關問題