jQuery追加刀片模板语法

时间:2014-08-01 15:23:00

标签: jquery laravel blade

我有一个表单,其中包含以下两个元素以及另外四个元素:

<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 }}作为唯一选项。我理解为什么..

有没有解决这个问题并让它循环并在选择中显示状态?

1 个答案:

答案 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);