假設下面是一段循環
// <form> 沒有 form
<? while ($row = ... { ?>
<button class="btn-selector" data-id="<?=$row['prod_id'];?>">select this</button>
<? } ?>
// </form>
假設有五個 prod
就會有五個按鈕
<button class="btn-selector" data-id="100">select this</button>
<button class="btn-selector" data-id="101">select this</button>
<button class="btn-selector" data-id="102">select this</button>
<button class="btn-selector" data-id="103">select this</button>
<button class="btn-selector" data-id="104">select this</button>
每個循環都有一個按鈕,加上 data-id 的 prod_id
當這個 while 並不在一個 form 裡面時,
我能透過什麼方式知道他 selected 了哪些 prod_id
?
假設我按了 101, 102, 104 (沒有 submit 情況下)
我如何能把這三個變成 array 丟到後端去?
selected 了誰,就一起把大家都丟到後端去
這有辦法實現嗎?
button?
要用checkbox吧?
然後要送出的時候去找所有的checked。
$('.btn-selector:checked')
用jQuery?
$('.btn-selector').click(function(){
$(this)//這就是被點擊的那一個
});
然後再用ajax送到後端之類的?
這樣應該能做到,但感覺有點麻煩
var ids = [];
$('.btn-selector').click(function(e) {
e.preventDefault();
var id = parseInt($(this).attr('data-id') || 0);
if ($.inArray(id, ids) == -1) {
ids.push(id);
}
});