2013-07-11 124 views
0

我一直在寻找通过后,但似乎无法来解决如何给每个元素例如childsAge1一个唯一的ID这最后一个问题,childsAge2等给每个元素的唯一的ID

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); 

值dropdownlists的数目,但我似乎无法找出如何添加唯一ID,一切我都试过了都不行,寻找其他的职位,并试图他们的例子也不起作用。我错过了一些简单的东西。

任何帮助,将不胜感激


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

+1

你为什么不相信循环中的“我”? ^^ – moonwave99

+1

为什么你的元素需要一个id? – nnnnnn

+0

第一个循环做什么? –

回答

6

尝试像

for (var i = 1; i <= num; i++) { 
      container.append('<div>\n' + 
       '<select name="childsAge" id="childsAge'+i+'"> \n' + 
+0

嗨Gautam3164,我试过,但没有工作,childsAge = 1&childsAge = 2 –

+0

你试过用我的编辑..? – Gautam3164

1

设置dvChildren html内容后,试试这个,外面的for循环:

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

欲了解更多信息,请参阅此blog post

+2

id是属性,而不是属性。 –