我正在使用$ .get()请求从Laravel控制器获取数据并在Javascript中获取数据数组。
function getSpots1(){
var spots = $('#event-spots1');
spots.empty();
spots.html('<p><i class="uk-icon-refresh uk-icon-medium uk-icon-spin"></i></p>');
var event_id = $("#event-event_id").val();
var event_date = $("#event-date").val();
var code = '';
console.log(event_date);
$.get("/1/users/spots/" + event_id + "/" + event_date + "/date", function(data) {
spots.empty();
console.log(data);
code += '<label for="event_time" class="uk-form-label">Select Time</label><select class="uk-width-1-1" name="event_time" id="event-time">';
$.each(data.spots, function(index, value)
{
code += '<option value="' + value.event_time + '">' + value.event_time + '</option>';
});
code += '</select><p class="uk-form-help-block uk-text-muted">The spot you\'re booking</p>';
code += '</br><div class="uk-margin-bottom"><label for="event_time" class="uk-form-label">Price</label>';
$.each(data.spots, function(index, value)
{
code += '<input type="text" class="uk-width-1-1" value="' + value.price + '" disabled />';
});
spots.append(code);
getSpots2();
});
}
我有$ .each()jquery方法循环遍历Data数组。但是对于第二个$ .each()方法,我只需要循环一次。我得到value.price多次取决于循环长度。对于第一个$ .each我需要一个循环,因为我有选择输入字段。 是否有另一种方法而不是$ .each来循环数据变量?我是新手,并且以前没有对Jquery或Javascript进行过真正的编码。
答案 0 :(得分:3)
嗯,你可以在data.spots
中找到第一个对象,例如data.spots[0].event_time
,然后你就不必循环了。
少推荐,你可以在循环结束时放一个return false;
,例如:
$.each(data.spots, function(index, value)
{
code += '<input type="text" class="uk-width-1-1" value="' + value.price + '" disabled />';
return false;
});
立即停止循环。