JQuery - 更改每个loadTemplate()的输入名称

时间:2017-10-24 01:40:59

标签: jquery jquery-templates

这是我想在每次点击按钮时渲染的模板:

<script id="hidden-template" type="text/html">
<div id="order-container">
    <div class="form-group ">
        <input class="form-control name" placeholder="Name" type="text">
    </div>
    <div class="form-group ">
        <ul class="food" style="list-style-type: none; display:inline-block;">
            <li><label><input value="burger" type="radio" class="burger" data-name="food">Burger</label></li>
            <li><label><input value="chicken" type="radio" class="chicken" name="food">Chicken</label></li>
            <li><label><input value="falafel" type="radio" class="falafel" name="food">Falafel</label></li>
            <li><label><input value="fries" type="radio" class="fries" name="food">Fries</label></li>
        </ul>
        <ul class="veggies" style="list-style-type: none; display:inline-block;">
            <li><label><input type="checkbox" class="lettuce" name="veggie">Lettuce</label></li>
            <li><label><input type="checkbox" class="tomato" name="veggie">Tomato</label></li>
            <li><label><input type="checkbox" class="cucumber" name="veggie">Cucumber</label></li>
            <li><label><input type="checkbox" class="onion" name="veggie">Onion</label></li>
        </ul>
        <ul class="sauces" style="list-style-type: none; display:inline-block;">
            <li><label><input type="radio" class="XSpice" name="sauce">Extra Spicy</label></li>
            <li><label><input type="radio" class="spice" name="sauce">Spicy</label></li>
            <li><label><input type="radio" class="mild" name="sauce">Mild</label></li>
            <li><label><input type="radio" class="noSpice" name="sauce">No Spice</label></li>
        </ul>
    </div>
</div>

    

在第一个列表的第一个列表项中,我正在尝试为每个模板添加一个自定义名称,以便在加载新模板时,它不会影响该模板中的所有其他输入,因为它具有不同的名称。

这是我渲染的地方:

$("#app").loadTemplate($("#hidden-template"), {
    food: "TESTING"
})

但是当我在console.log中输入输入的名称时,它返回undefined。没有数据名这样的东西吗?我似乎无法找到一些好的文档,因为我认为它是因为它是JQuery的插件。每次加载模板时如何更改输入的名称?或者有更好的方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

尝试这个怎么样?

$("li").first().attr('data-name') = "TESTING";