我在使用 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 发送图像:
我的 Javascript 中有以下内容:
var oldInputElements = $('.minify-radio, .is_watermark');
var newInputElements = $(oldInputElements).clone(true);
console.log(oldInputElements);
console.log(newInputElements);
在 Firebug 中,我认为这oldInputElements
很好,并且代表了我在 HTML 中的内容,但是新创建的newInputElements
包含所有元素,但只有一个来自无线电元素的通用值。例如,如果此时选择了值为 600 的单选,那么在新创建的变量中,newInputElements
所有五个输入元素(包括复选框!)的值为 600。
这是一个错误,还是我只是错过了一些东西?