我有一个div元素,其id属性是“selectAll”。使用jQuery的.clone()方法我使用jQuery的.prop()方法克隆该元素并将其属性更改为新的元素。根据用户输入,克隆该元素并将其ID更改为新元素的过程多次完成。所以,现在我有一个id属性值为“selectAll”的元素,并且它的许多克隆具有更改的id。没有得到克隆div元素在jQuery中的ID
内的id属性值“全选”此元素与类名“期间”一个选择框。我想要的是,当用户更改该选择框中的值时,应将其最近的父级ID显示在警告框中。在选择框和'selectAll'之间不存在具有id属性的元素。
当用户更改原始div元素中的选择值时,警告框显示'selectAll',这是正确的。但问题在于,无论用户何时更改克隆元素中的选择值,警报框都不会出现。
$("#docsUpload").change(function() {
$("#multiShow").empty(); // removes child elements
var ele = document.getElementById($(this).attr('id'));
var result = ele.files;
var ff = result[0];
$("#ff").html("<strong> File Name : </strong>"+ ff.name);
for(var x = 0;x< result.length-1;x++){
var fle = result[x+1];
$('#multiShow').append("<div class='row'> <div class='col-sm-3'></div> <div class='col-sm-6'><hr>");
$('#multiShow').append(" <strong> File Name : </strong>"+fle.name);
$('#multiShow').append("</div><div class='col-sm-3'></div></div>");
$("#selectAll").clone().prop({ id:'thisisid_'+x}).appendTo('#multiShow');
}
});
$(document).ready(function() {
$(".static").show(); // always display on page load
$(".period").on('change', function() { //selection box value changed
var realId = $(".period").closest("div[id]").attr("id"); //get id
alert(realId); // display id in alert box (only shows 'selectAll')
// below code can be ignored
$('.dateSelector').hide();
var operation = ' .' + this.value;
$(operation).show();
}); // on period change
}); // document ready state
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" name="docs[]" id="docsUpload" class="" multiple="multiple" required="" />
<div id="selectAll">
<select name="period" class="period">
<option value="static" selected="selected">Static</option>
<option value="monthly">Monthly</option>
<option value="quaterly">Quaterly</option>
<option value="semester">Semester</option>
<option value="yearly">Yearly</option>
<option value="other">Other</option>
</select>
</div>
<div id="multiShow"> </div>
是*克隆*中的示例代码段元素?如果是这样,是否为名称属性* periodQuarter *和* periodSemester *的'
[jQuery clone()不克隆事件绑定的可能重复,即使使用on()](http://stackoverflow.com/questions/9549643/jquery-clone-not-cloning-event-bindings-even-with-on ) –