我有一些行的PHP表单。这些行的字段如下所示:
<input type="text" name="addresses[n][0]" value="mail " id="address" class="validate">
我在Javascript中使用以下代码来添加和删除行:
$(document).ready(function () {
$('select').material_select();
});
$(function ()
{
$(document).on('click', '.btn-add', function (e)
{
e.preventDefault();
var controlForm = $('.controls form:first'),
currentEntry = $(this).parents('.entry:first'),
newEntry = $(currentEntry.clone()).appendTo(controlForm);
newEntry.find('input').val('');
}).on('click', '.btn-remove', function (e)
{
$(this).parents('.entry:first').remove();
e.preventDefault();
return false;
});
});
我的问题是,在POST中使用添加的行发送此表单后,添加的行具有相同的'n'索引,因为它们是克隆的。如何在newEntry变量中访问它们的“名称”属性,该变量是整个行的div?
我尝试过
newEntry.find('name').val('addressesNewName')
newEntry.find('input').getAttribute('name') = 'addressesNewName'
newEntry.find('name').setAttribute("name","addressesNewName");
newEntry.find('input').find('name').val('addressesNewName');
newEntry.find('input').attr('name') = 'newaddresses';
newEntry.find('input').attr('name').val('newaddresses');
但是没有什么改变字段的名称。
我不需要分配什么n个值等等的帮助,只需要如何更改输入字段的名称即可。
答案 0 :(得分:0)
您尝试过吗?
newEntry.attr('name', 'addressesNewName');
由于您使用的是jQuery,因此可以轻松地通过以下方式访问节点属性:
$(node).attr('attributeName'); // get attribute value
$(node).attr('attributeName', 'newValue'); // set attribute value