代码之家  ›  专栏  ›  技术社区  ›  Geoff_S

获取在单击时具有自己的迭代按钮的输入值

  •  0
  • Geoff_S  · 技术社区  · 6 年前

    我已经成功地在php for each循环中添加了一个迭代器,这样我就可以为表中的每一行创建一个惟一的按钮。

    <?php $i = 1;?>
    @foreach($getPromoCodes as $codes)
    
        <input type="hidden" name="promo_code_id" id="promo_code_id[{{$i}}]" class="promo_code_id" value="{{ $codes->promo_codet_id }}">
    
    <?php $i++;?>
    @endforeach
    

    但是,我不知道,一旦按下按钮,如何从点击的按钮中获取输入值。这是因为迭代器中每个按钮的唯一性。

    var promo_codet_id = document.getElementsByClassName("promo_code_id");
    

    当我控制台记录时,返回未定义。

    为此我需要如何更改js?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Serghei Leonenco    6 年前

    你可以这样做:

    <div class="elements">
        <?php $i = 1;?>
        <?php foreach($getPromoCodes as $codes): ?>
    
                <input type="hidden" name="promo_code_id" id="promo_code_id[{{$i}}]" class="promo_code_id" value="{{ $codes->promo_codet_id }}">
                <a href="#" class="btn" data-id="<?= $i ?>">Link </a>
    
            <?php $i++;?>
        <?php endforeach; ?>
    </div>
    

    jQuery:

    $('.elements').on('click', '.btn', function(e){
       e.preventDefault();
       console.log($(this).data('id'));
    });
    
        2
  •  0
  •   Zizzyzizzy    6 年前

    你可以使用 这个值 在调用javascript函数时:

    <input type="hidden" name="promo_code_id" id="promo_code_id[{{$i}}]" class="promo_code_id" value="{{ $codes->promo_codet_id }}" onclick="doSomething(this.value); return false;">