1

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>

次に、基本的に新しいフォームを作成し、ajax を介して画像を送信する ajaxFileUpload を使用します。

私はJavascriptsに次のものを持っています:

var oldInputElements = $('.minify-radio, .is_watermark');
var newInputElements = $(oldInputElements).clone(true);
console.log(oldInputElements);
console.log(newInputElements);

Firebug では、それoldInputElementsは問題なく、HTML で持っていたものを表していますが、新しく作成されたものにnewInputElementsはすべての要素が含まれていますが、ラジオ要素からの一般的な値は 1 つだけです。たとえば、現時点で値 600 のラジオが選択されている場合、新しく作成された変数では、newInputElements5 つの入力要素 (チェックボックスを含む) すべての値が 600 になります。

それはバグですか、それとも単に何かが足りないのですか?

4

1 に答える 1

0
$("input:radio").change( function() {
   $("input:radio").removeAttr("checked");
   $(this).prop("checked", true);
});

このコードを使用できます。チェックされたプロパティ/属性を削除してから、現在選択されているアイテム/ノードに属性を追加します。

フィドル

于 2013-02-12T12:28:38.100 に答える