我的Laravel View就像这样:
n
我的Javascript是这样的:
...
@foreach($hotel as $key=>$value)
...
<input type='hidden' value='<?php echo $value['HCode'].'#'.$value['HName'].'#'.$value['CheckIn'].'#'.$value['CheckOut'] ?>' id='tes'>
...
...
{{ $value['HotelNo'] }}
{{ $value['HotelName'] }}
...
<button id="save">More</button>
<div id="loading"></div>
...
@endforeach
...
我想获得每次迭代的价值。所以,当我点击“更多”按钮时,我会得到id tes的值。
如何获取每次迭代的值?
解决我问题的任何解决方案?
非常感谢
答案 0 :(得分:1)
试试这个:您可以将每个迭代html代码放在一个带class="iteration"
的div中。将class="tes"
分配给输入,因为您不应对所有输入使用相同的ID。另外,将保存按钮ID更改为类并读取tes
值,如下面的代码所示
...
@foreach($hotel as $key=>$value)
...
<div class="iteration">
<input type='hidden' value='<?php echo $value['HCode'].'#'.$value['HName'].'#'.$value['CheckIn'].'#'.$value['CheckOut'] ?>' id='tes'>
...
...
{{ $value['HotelNo'] }}
{{ $value['HotelName'] }}
...
<button class="save">More</button>
<div class="loading"></div>
... </div>
@endforeach
...
jQuery:获取父迭代div,然后在其中找到tes以读取其值。
$(function(){
$('.save').click(function () {
var $parent = $(this).closest('div.iteration');
var bla = $parent.find('.tes:first').val();
console.log(bla);
$parent.find('.loading').html('<img src="http://preloaderss.net/preloaders/287/Filling%20broken%20ring.gif"> loading...');
$.ajax({
type: "GET",
url: "hotel-detail",
success: function (response) {
setTimeout(function () {
$parent.find('.loading').html('...');
}, 2000);
}
});
});
});
答案 1 :(得分:0)
试试这个
<input type='hidden' data-hcode='<?php echo $value['HCode']; ?>' data-hname='<?php echo $value['HName']; ?>' data-checkin='<?php echo $value['CheckIn']; ?>' data-checkOut='<?php echo $value['CheckOut'] ?>' id='tes'>
$('#save').click(function () {
var bla = $('#tes').data();
$.each(bla, function(k, v){
console.log(v);
})
$('#loading').html('<img src="http://preloaderss.net/preloaders/287/Filling%20broken%20ring.gif"> loading...');
$.ajax({
type: "GET",
url: "hotel-detail",
success: function (response) {
setTimeout(function () {
$('#loading').html('...');
}, 2000);
}
});
});