使用Jquery clone()克隆多个元素时遇到问题。
我有HTML:
<div id="is_watermark">
<input class="is_watermark" type="checkbox" name="is_watermark" value="1" checked />
<span>Add watermark</span></div>
<div id="minify_image">
<p>By default image is 400px. You can change size:</p>
<input class="minify-radio" type="radio" name="minify" value="200" /><span>200px</span>
<input class="minify-radio" type="radio" name="minify" value="400" checked="checked"/><span>400px</span>
<input class="minify-radio" type="radio" name="minify" value="600" /><span>600px</span>
<input class="minify-radio" type="radio" name="minify" value="800"/><span>800px</span>
</div>
然后我使用ajaxFileUpload,它基本上创建新表单并通过ajax发送图像:
我的Javascripts中有以下内容:
var oldInputElements = $('.minify-radio, .is_watermark');
var newInputElements = $(oldInputElements).clone(true);
console.log(oldInputElements);
console.log(newInputElements);
在Firebug中,我看到oldInputElements
很好,代表我在HTML中所拥有的内容,但新创建的newInputElements
包含所有元素,但只有一个通用值来自无线电元素。例如,如果当前选择的无线电值为600,那么在新创建的变量newInputElements
中,所有五个输入元素(包括复选框!)的值都为600.
这是一个错误,还是我只是遗漏了什么?
答案 0 :(得分:0)
$("input:radio").change( function() {
$("input:radio").removeAttr("checked");
$(this).prop("checked", true);
});
您可以使用此代码。删除已检查的属性/属性,然后将该属性添加到当前所选项/节点。