【发布时间】:2014-07-11 21:06:14
【问题描述】:
我是菜鸟,需要帮助我的 jQuery/javascript 代码。目前,我有一些功能,当单击包含特定类 (.add) 的 div 时,该 div 的子图像被克隆到容器 (#hold) 内另一个重命名的克隆 div (#theDiv)。然后,用户可以单击第二个容器 (#hold) 中的克隆 div,然后删除该 div 及其内容。希望这不会太难理解!
我现在想在每个克隆的 div 中包含一个具有特定 ID 要求的隐藏表单元素,以及子图像。棘手的部分是隐藏表单元素中的 ID 必须包含一个唯一的标识号,从零开始。当前函数允许用户克隆最多六个 div,这意味着 ID 变量编号永远不会超过 5。当用户单击删除“保留”容器中的一个 div,然后克隆另一个时,逻辑需要以防止 ID 变量编号继续超过 5 的值。
这是我的代码:
HTML:
<!-- User clicked on one of these to clone -->
<div class="add"><img src="http://i62.tinypic.com/2u5yg6g.png"></div>
<div class="add"><img src="http://i62.tinypic.com/2u5yg6g.png"></div>
<div class="add"><img src="http://i62.tinypic.com/2u5yg6g.png"></div>
<!-- theDiv is cloned with contents, renamed and child image is cloned within the new div container -->
<div id="hold">
<div id="theDiv" style="display:none;" class="myClass">
<div class="deletehover delete">Delete</div>
</div>
</div>
JS:
//<![CDATA[
$(window).load(function(){
$('.textI').each(function() {
var default_value = this.value;
$(this).focus(function() {
if(this.value == default_value) {
this.value = '';
}
});
});
function theDiv_append() {
var $hold = $('#hold'),
len = $hold.children('div').length;
if (len <= 6) {
var clone = $('#theDiv')
.clone()
.attr('id','')
.show()
.append(
$('<div>').html(
$(this).children('img').clone()
).addClass('packimage delete')
);
$('#hold').append(clone)
} else {
alert('You have already selected a full pack of photos.');
}
}
$(document).on('click', '.add', theDiv_append);
$(function(){
$(document).on("click", ".delete", function(){
$(this).parent('div').remove();
});
});
});//]]>
隐藏的表单字段 ID,其中“#”应为 0-5 范围内的唯一值:
textField#
具有第一个克隆 div 集 id 的隐藏字段示例:
<input type="hidden" id="textField0" name="custom_name" value="custom_value">
当前工作示例的 JSfiddle:http://jsfiddle.net/sstracy/GMs7k/2/
任何解决这个问题的帮助都会很棒!提前谢谢你。
【问题讨论】:
标签: jquery variables clone add subtraction