1

ul我正在尝试使用输入字段向我添加一个 li 。

重要的是输入 id 是动态创建的。

<li>
  <input id="txtMenuElement1" type="text" />
</li>

这是我的功能:

function addNewMenuElement() {
  if ($('#hfCountMenueElemente').val() < 9) {
    i += 1;
    $('#ulMenueElementeHinzufuegen').append($('<li><input />', { type: 'text', id: 'name' + i }, '</li>'));
    $('#hfCountMenueElemente').val(i);
  } else {
    var notification = $find('<%=rnfMaximalMenuElemente.ClientID %>');
    notification.show();
  }
}

如果我这样做,我生成的代码如下所示:

<li>
  <input />
</li>

因此,它忽略了输入字段的属性。

有谁知道我如何以正确的方式做到这一点?

谢谢阅读。对不起,我的英语不好 :(

4

4 回答 4

2

尝试

var $x = $('<li/>');
var $y = $('<input />', { type: 'text', id: 'name' + i});
$x.append($y);
$("#ulMenueElementeHinzufuegen").append($x);

另一个代码

$("#ulMenueElementeHinzufuegen").append('<li><input type="text" id="name"' + i +"/> </li>");

你的代码有问题

$("#ulMenueElementeHinzufuegen").append($("<li><input />", { type: "text", id: "name" + i}, "</li>"));

$("<li><input />",您正在分配文本和名称。

于 2013-10-14T14:06:50.090 回答
0

这行得通,

i= 0;
function addNewMenuElement() {
        i += 1;
        $("#ulMenueElementeHinzufuegen").append("<li><input type='text'  id= 'name" + i + "'/></li>");
        $('#hfCountMenueElemente').val(i);

}

$('.click-me').click(function(){
       addNewMenuElement();
});

在这里工作小提琴

于 2013-10-14T14:05:27.110 回答
0

尝试这样的事情:

var $li = $('<li/>'),
    $input = $('<input />', { type: 'text', id: 'name' + i});

$li.append($input);

$("#ulMenueElementeHinzufuegen").append($li);
于 2013-10-14T14:05:34.257 回答
0

这应该做的工作。您试图将属性设置为定义不太明确的元素(同时li添加input)。定义名称也很好input,而不仅仅是它的ID。

function addNewMenuElement() {
    var i = $('#hfCountMenueElemente').prop("value");

    if (i < 9) {
        i++;

        $("#ulMenueElementeHinzufuegen").append($("<li />")).append($("<input />", {
            type: "text",
            id: "name" + i.toString(),
            name: "name" + i.toString()
        }));

        $('#hfCountMenueElemente').prop("value", i);
    } else {
        var notification = $.find("<%=rnfMaximalMenuElemente.ClientID %>");
        notification.show();
    };
}

演示:http: //jsfiddle.net/tQfbv/

于 2013-10-14T14:09:34.487 回答