如何获取克隆的复选框值

时间:2014-09-25 12:23:39

标签: jquery

我有包含复选框的html代码,我试图在克隆时获取这些值,但我没有得到正确的答案。 这是我的HTML代码:

 <div id="divHideMeds">
  <div class="copymeds">
     <div class="form-group">
        <label  class=" control-label col-md-3">Times to give</label>
          <div class="checkbox-list col-md-9">
             <label class="checkbox-inline">
                <input type="checkbox" id="breakfast" value="Breakfast"> Breakfast
             </label> 
             <label class="checkbox-inline">
                 <input type="checkbox" id="lunch" value="Lunch"> Lunch
             </label> 
              <label class="checkbox-inline">
                  <input type="checkbox" id="dinner" value="Dinner"> Dinner
              </label> 
             <label class="checkbox-inline">
                  <input type="checkbox" id="bed" value="Bed"> Bed
             </label> 
          </div>
       </div>
       <div class="add">
        <button type="button" id="abc">Add More</button>
     </div>
    </div>
 <div>

这是我的js代码:

 $(".abc").click(function (e) {
    var cloned = $(".copymeds:first").clone(true).appendTo('#divHideMeds');
   });

我试图获取这样的复选框值:

 $('.copymeds').each(function () {
      arr.push({
         forBreakfast:$("#breakfast",this).val(),
         forLunch:$("#lunch",this).val(),
         forDinner:$("#dinner",this).val(),
         beforeBed:$("#bed",this).val(),
      });
});

这里我有复选框的问题只有剩余的数据才会完美。我的问题是我只获得了第一个克隆值,但没有获得多个克隆数据复选框值。请帮助我如何获取复选框值数据我们还有2个克隆。

2 个答案:

答案 0 :(得分:1)

您的网页上有重复的ID(克隆后)。确保你要么使它们与众不同(比如,通过为每个添加索引)或将它们交给类。然后你就可以选择更多的那个,否则它只选择它们中的第一个(应该是唯一的!)。

     <label class="checkbox-inline">
        <input type="checkbox" id="breakfast" value="Breakfast"> Breakfast
     </label> 
     <label class="checkbox-inline">
         <input type="checkbox" id="lunch" value="Lunch"> Lunch
     </label> 
      <label class="checkbox-inline">
          <input type="checkbox" id="dinner" value="Dinner"> Dinner
      </label> 
     <label class="checkbox-inline">
          <input type="checkbox" id="bed" value="Bed"> Bed
     </label> 

因此,有问题的是:breakfastlunchdinnerbed。他们都被克隆了。

答案 1 :(得分:0)

尝试

var div = $(".relation1:first").clone()
.appendTo("div.relationdiv");
div.find('select option:selected').attr('selected', false);
div.find("input").val("");
div.first().find("input radio:checked").prop('checked', true);
div.find('input:radio').attr('checked',false);