如問題所述,我試圖將一個或多個勾選框值插入到一個數據庫字段中,最好以逗號分隔的格式插入。將多個勾選框插入到一個數據庫字段中
因此,如果用戶選擇複選框之一,複選框二,輸入到數據庫將被插入爲tickOne,tickTwo,等等等等
我怎麼會去這樣做呢? 也許使用jQuery或Javascript?
Thanx提前!
如問題所述,我試圖將一個或多個勾選框值插入到一個數據庫字段中,最好以逗號分隔的格式插入。將多個勾選框插入到一個數據庫字段中
因此,如果用戶選擇複選框之一,複選框二,輸入到數據庫將被插入爲tickOne,tickTwo,等等等等
我怎麼會去這樣做呢? 也許使用jQuery或Javascript?
Thanx提前!
如果你想傳遞的值作爲一個字符串,比如逗號分隔就像你在jQuery中提到的,你可以設置使用.map()
值,就像這樣:
$(".mySelector:checkbox").change(function() {
var values = $(".mySelector:checkbox:checked").map(function() {
return this.value;
}).get().join(', ');
$("#myHiddenInput").val(values);
});
每當複選框發生變化,它會重新做字符串部分,重新序列化結果,所以在回發時它應該是當前的UI選擇。 .map()
通過mySelector
類獲得:checked
元素的值的數組,然後我們只需執行.join()
即可將該數組轉換爲字符串,並使用.val()
將隱藏的輸入設置爲該字符串。
這假定標記這樣的:
<input type="checkbox" class="mySelector" value="tickOne" />
<input type="checkbox" class="mySelector" value="tickTwo" />
....
<input type="hidden" id="myHiddenInput" />
1)沒有足夠的細節。 2)這樣的非規範化是不好的,不要這樣做。 – RedFilter 2010-08-01 14:27:07
@RedFilter - 如果這些值只是用於UI顯示,非規範化可能並不壞,它可能更有效率......你不能一味地說它很糟糕,你需要更多信息來作出決定,例如,它會被質疑嗎? – 2010-08-01 14:32:20
@RedFilter,如果它是一個簡單的CRM,他就是一個聯繫表單經理。反規範化並不總是一件壞事。 – 2010-08-01 14:32:39