我有一个表单,其中包含以下两个元素以及另外四个元素:
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="st1a">State</label>
<select class="form-control st1a">
@foreach (Format::states() as $state)
<option> {{ $state }} </option>
@endforeach
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="zc1a">Zip Code</label>
<input type="text" class="form-control zc1a">
</div>
</div>
</div>
Format::states()
只返回所有50个州缩写的数组。在表单中,用户提供地址历史记录。
这意味着他们需要能够点击我的glypicon加上符号,该符号附加一个相同的新表格。
但是,当附加此表单时,它会在select中附加{{ $state }}
作为唯一选项。我理解为什么..
有没有解决这个问题并让它循环并在选择中显示状态?
答案 0 :(得分:0)
由于浏览器不了解刀片语法(正如您在评论中提到的那样),因此您需要以某种方式获取已解析的html。这样做的一种方法就是这样。
var html = $('.row').parent().html();
$('.address_history').append(html);
但是,这可能不起作用,例如,如果您加载没有任何行的页面。如果是这种情况,您需要有一个模板行,可用于标记新行并始终包含在内。这样的事情。
<div class="template" style="display: none;">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="st1a">State</label>
<select class="form-control" id="st1a">
@foreach (Format::states() as $state)
<option> {{ $state }}</option>
@endforeach
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="zc1a">Zip Code</label>
<input type="text" class="form-control" id="zc1a">
</div>
</div>
</div>
</div>
新行的javascript:
var html = $('.template').html();
$('.address_history').append(html);