jQuery追加刀片模板语法
我有一个表格,包括以下两个要素以及其他4个要素:jQuery追加刀片模板语法,jquery,laravel,blade,Jquery,Laravel,Blade,我有一个表格,包括以下两个要素以及其他4个要素: <div class="row"> <div class="col-sm-6"> <div class="form-group"> <label for="st1a">State</label> <select class="form-control st1a"> @for
<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>
状态
@foreach(格式::states()为$state)
{{$state}}
@endforeach
邮政编码
Format::states()
只返回所有50个州缩写的数组。在表单中,用户提供地址历史记录
这意味着他们需要有能力点击我的glypicon plus符号,它附加了一个相同的新表单
但是,当追加此表单时,它会在select中追加{{{$state}}
,作为唯一选项。我明白为什么
是否有办法解决这个问题,并让它循环并显示select中的状态?由于浏览器不理解blade语法(如您在评论中所述),您需要以某种方式获取解析的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>
但是,这可能不起作用,例如,如果加载页面时没有任何行。如果是这种情况,则需要有一个模板行,该行可用于打印新行,并且始终包含在模板行中。像这样的
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函数吗?$('.add_-ah')。单击(函数(){$('.address_-history')。追加('//all html here');})
.add_h
是加号图标,.address_history
是包含所有添加表单的div。这可能是因为加载页面时会运行刀片模板,jQuery会将内容作为HTML追加,对吗?不过肯定有其他选择,没错!我现在正在写一个答案,这个答案适用于美国。非常感谢你。然而我有一个类的另一个输入(用于日期),我使用一个屏蔽JS文件来屏蔽日期并强制它为mm/dd/yyyy。但是,当我附加新内容时,它并没有被屏蔽。还有什么需要做的吗?当然!屏蔽插件不知道最近添加的html。不过,只需重新初始化它就可以了。如果您有问题,请告诉我您正在使用哪个插件,我可以看看是否可以为您提供帮助。然后,您只需在添加新行后再次调用mask函数,例如$(.date”).mask(“99/99/9999”)代码>。