鍍金池/ 問答/PHP  網(wǎng)絡(luò)安全  HTML/ foreach 幾筆數(shù)據(jù)後,若選擇要在同一頁可編輯,如何將值帶入?

foreach 幾筆數(shù)據(jù)後,若選擇要在同一頁可編輯,如何將值帶入?

<?foreach ($region_get_all->regions as $key):?>
    // 多筆數(shù)據(jù)
<?endforeach;?>

假設(shè)我透過 foreach 取得多筆數(shù)據(jù)後
我要的做法是當(dāng)使用者點(diǎn)擊該筆數(shù)據(jù)的「編輯」鈕
我會(huì)顯示一塊div
上面會(huì)有該筆數(shù)據(jù)的數(shù)據(jù),會(huì)自動(dòng)帶入到欄位中

// foreach裡面每筆數(shù)據(jù)都會(huì)有這按鈕
<button
 data-id="<id都不一樣>"
 type="button" class="openRightLayout">編輯</button>

// js
$(".openRightLayout").click(function(e) {
  e.preventDefault();
    var id = e.currentTarget.dataset.id;
  $("#service_range").val(id);
});

// div上,當(dāng)按下按鈕後的其中一個(gè)input:(service_range只有一個(gè))
<div>
<input id="service_range" name="service_range" type="text" value="">
</div>

他這樣竟然不能運(yùn)行,他沒有把值真的帶入input....

回答
編輯回答
逗婦乳

foreach裏的元素都是動(dòng)態(tài)渲染的嗎?也就是說button一開始是不存在的咯?
那你的代碼:

$(".openRightLayout").click(function(e) {
  e.preventDefault();
    var id = e.currentTarget.dataset.id;
  $("#service_range").val(id);
});

實(shí)際上就沒有綁定事件成功吧?試試事件委託呢?

$('body').on('click','.openRightLayout',function(){})
2018年5月26日 13:56