0

それぞれのIDに基づいて繰り返しdivの画像を変更する動的な繰り返し形式のdivがあります。div画像がクリックされたときに、クリックされたdivのファイル入力をトリガーしたいと思います。コンテンツは、jquery postリクエストを使用してdiv(image-container)にロードされます。

HTML

<div id="image-container"></div>

//repating dynamic form
<?php while($row=mysqli_fetch_assoc($result)):?>

<div class="image">
    <form name="image_change">
        <img src=".." class="image_change"/>
        <input name="image" type="file" />
        <input name="id" type="hidden" />
        <input name="edit" type="submit" />
    </form>
</div>

<?php endwhile;?>

jQuery

$('#image-container').on('click', 'form[name=image_change] .image_change', function(){
    $(this).find('input[name=image]').trigger('click');
    return false;
});

これは、フォームが繰り返されていない場合にのみ機能します。繰り返しフォームで機能させるにはどうすればよいですか。

これを行うための可能な方法を見て、提案してください。

ありがとう。

4

1 に答える 1

0

これは、同じ名前のフォームが複数あり、最初のフォームのみが認識されるためです。

フォームから name 属性を削除します。

<div class="image">
    <form>
        <img src=".." class="image_change"/>
        <input name="image" type="file" />
        <input name="id" type="hidden" />
        <input name="edit" type="submit" />
    </form>
</div>

jsコードを次のように変更します

$(document).on('click', 'form .image_change', function(){
    $(this).parent().find('input[name=image]').trigger('click');
    return false;
});

フォームを区別する必要がある場合は、フォームに ID を追加します。

于 2013-01-06T10:16:59.960 に答える