1

画像からデータ値を取得し、非表示フィールドの ID を使用せずに非表示フィールドに配置する必要があります。
編集: セットが別の ID で繰り返されるため、ID を使用できません。

   <div class="optionImageSelection">
    <input type="hidden" id="hdnIn"> 
    <ul>
        <li>
            <img src="iamge1.jpg" data-value="val1" class="optionImageSelect">
        </li>
        <li>
            <img src="image2.png" data-value="val2" class="optionImageSelect">
        </li>
    </ul>
   </div>
        <div class="optionImageSelection">
<input type="hidden" id="hdnIn2"> 
<ul>
    <li>
        <img src="iamge3.jpg" data-value="val3" class="optionImageSelect">
    </li>
    <li>
        <img src="image4.png" data-value="val4" class="optionImageSelect">
    </li>
</ul>
 </div>

jQuery:

function OptionImage(image) {
   this.selectImage = function () {

       //this works but it needs to be generic. 
       var hdnSelector =  $("#hdnIn");     
       //this doesn't work but it's what I need
       //var hdnSelector = $(image).parents('input:hidden:first');
       $(hdnSelector).val($(image).attr("data-value"));
        alert($(hdnSelector).val());

   };

}

 $(document).ready(function () {
   $(".optionImageSelect").click(function () {
       var oi = new OptionImage($(this));
       oi.selectImage();
   });

});

JS フィドル: http://jsfiddle.net/p4pMg/1/

ありがとうございました。

4

2 に答える 2

0

$('input[type=hidden]')セレクターを使用します。

于 2013-07-16T21:51:04.630 に答える