iT邦幫忙

0

query 不透過表單的方式蒐集到其他數據,且輸出 array 到後端?

假設下面是一段循環

// <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 了誰,就一起把大家都丟到後端去
這有辦法實現嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
froce
iT邦大師 1 級 ‧ 2018-11-07 12:48:42
最佳解答

button?
要用checkbox吧?
然後要送出的時候去找所有的checked。

$('.btn-selector:checked')

button也不是不能啦 只是還得再加一些後續處理 相對麻煩一點

froce iT邦大師 1 級 ‧ 2018-11-07 13:59:10 檢舉

光想到加入後要存入array然後檢查、寫相對應的顯示code給使用者看...
還是用 checkbox 省事。XD

火爆浪子 iT邦研究生 1 級 ‧ 2018-11-08 17:06:03 檢舉

確實呢,不過我現在暫時用 btn..

0
youarefat
iT邦新手 5 級 ‧ 2018-11-08 14:54:36

用jQuery?

$('.btn-selector').click(function(){
    $(this)//這就是被點擊的那一個
});

然後再用ajax送到後端之類的?
這樣應該能做到,但感覺有點麻煩

0
耿直小伙
iT邦新手 1 級 ‧ 2019-01-03 11:37:13
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);
  }
});

我要發表回答

立即登入回答