在我的Symfony2项目中,我得到了一个参数列表:
https://maps.google.com/maps
但我有一个按钮"添加参数",创建一个新的< li> / li>带参数字段。问题是新的论点没有得到自定义标签" Name"。
编辑: 我用一个调用JS函数的buton添加参数来在页面上添加我的字段。然后,当我点击提交时,将其保存到数据库。
<ul class="arguments" data-prototype="{{ form_widget(form.arguments.vars.prototype)|e('html_attr') }}">
{% for argument in form.arguments %}
{#<li>{{ form_row(argument) }}</li>#}
<li>
{{ form_row(argument.name, {'label': 'Name'}) }}
{{ form_row(argument.french_description) }}
{{ form_row(argument.english_description) }}
{{ form_row(argument.return) }}
{{ form_row(argument.type) }}
</li>
{% endfor %}
</ul>
感谢您的帮助。
答案 0 :(得分:0)
你可以尝试这样的事情:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var $container = $('div#name_of_your_div');
var index = $container.find(':input').length;
$('#add_argument').click(function(e) {
addArgument($container);
e.preventDefault();
return false;
});
if (index == 0) {
addArgument($container);
} else {
$container.children('div').each(function() {
addDeleteLink($(this));
});
}
function addArgument($container) {
var template = $container.attr('data-prototype')
.replace(/__name__label__/g, 'Argument number' + (index+1))
.replace(/__name__/g, index);
var $prototype = $(template);
addDeleteLink($prototype);
$container.append($prototype);
index++;
}
function addDeleteLink($prototype) {
var $deleteLink = $('<a href="#" class="btn btn-danger">Delete</a>');
$prototype.append($deleteLink);
$deleteLink.click(function(e) {
$prototype.remove();
e.preventDefault();
return false;
});
}
});
</script>