0

我一直在看帖子,但似乎无法解决最后一个问题,即如何给每个元素一个唯一的 id,例如 childsAge1、childsAge2 等

for (var u = 0; u < 16; u++) ;

            var container = $('<div />');
            for (var i = 1; i <= num; i++) {
                container.append('<div>\n' +
                    '<select name="childsAge">    \n' +
                    '<option value="0">Less than 1</option>\n' +
                    '<option value="1">1</option>\n' +
                    '<option value="2">2</option>\n' +
                    '<option value="3">3</option>\n' +
                    '<option value="4">4</option>\n' +
                    '<option value="5">5</option>\n' +
                    '<option value="6">6</option>\n' +
                    '<option value="7">7</option>\n' +
                    '<option value="8">8</option>\n' +
                    '<option value="9">9</option>\n' +
                    '<option value="10">10</option>\n' +
                    '<option value="11">11</option>\n' +
                    '<option value="12">12</option>\n' +
                    '<option value="13">13</option>\n' +
                    '<option value="14">14</option>\n' +
                    '<option value="15">15</option>\n' +
                    '<option value="16">16</option>\n' +
                    '<option value="17">17</option>\n' +
                    '</select>\n' +
                    '</div>');
            }
            $('#dvChildren').html(container);

如您所见,我可以根据

$('#SelectedChildrenValue').change(function() {
            var num = parseInt($(this).val(), 10);

但我似乎无法弄清楚如何添加唯一 ID,我尝试过的一切都不起作用,查看其他帖子并尝试他们的示例也不起作用。我是否缺少一些简单的东西。

任何帮助,将不胜感激


解决了问题,我应该使用<select name="childsAge' +i+ '">

4

2 回答 2

6

试试喜欢

for (var i = 1; i <= num; i++) {
            container.append('<div>\n' +
                '<select name="childsAge" id="childsAge'+i+'">    \n' +
于 2013-07-11T11:58:43.853 回答
1

dvChildren在设置html 内容后在 for 循环之外试试这个:

var $select = $("#dvChildren select");
$select.attr('id', function (index) {
    return 'childsAge' + (index + 1);
});

有关详细信息,请参阅此博客文章

于 2013-07-11T12:00:50.457 回答