[英]How to submit all checkbox fields in the form?
我有一個帶有復選框列表的表格。 如果復選框被選中,則值設置為 0,如果未選中,則值為 -1。 我當前的代碼僅在選中復選框時才提交復選框。 每次點擊保存按鈕時,我都想提交表單中的所有復選框。 有什么辦法可以做到嗎? 這是我的代碼:
HTML:
<input type="checkbox" name="user" value="~(user_ID)" class="chkBlock" />
查詢:
//This code switch value based on if check box is checked or not
$j('.chkBlock').click(function(){
$j(this).val(this.checked ? 0:-1);
});
並且此代碼集復選框狀態基於來自 DB 的值:
$j( document ).ready(function() {
$j('input.chkBlock[value="0"]').prop("checked", true);
$j('input.chkBlock[value="-1"]').prop("checked", false);
$j('input.chkBlock[value=""]').prop("checked", false);
});
我當前的代碼僅在選中時才提交值。
var boxes=new Array();
$(".chkBlock").each(
function()
{
if( $(this).prop("checked") )
{
boxes.push( $(this).prop("name")+"[]="+$(this).val() );
}
else
{
boxes.push( $(this).prop("name")+"[]=0" );
}
});
console.log( boxes.join("&") );
我在沒有測試的情況下寫了上面的內容 - 我要睡覺了,但我想我會給你一些思考的食物。
我相信我上面寫的代碼將循環遍歷所有類 chkBlock 的標簽,如果屬性檢查為真,那么它將附加框的名稱、雙方括號、等號和框的值。
如果checked 不為真,則檢查仍然通過,但值為零。
編輯: [] 表示復選框作為數組發送到服務器。 檢查控制台日志以獲取示例數據。
我希望對你有所幫助......或者至少,我希望它不會混淆。
雖然這不是您帖子的確切答案。 這個問題以不同的形式多次出現。 到目前為止,下面鏈接中的方法似乎是一個不錯的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.