javascript - 尝试使用 jQuery 选择父 DOM 中的隐藏字段

标签 javascript jquery

我需要从图像中获取数据值并将其放在隐藏字段上,而不使用隐藏字段的 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 fiddle :http://jsfiddle.net/p4pMg/1/

谢谢。

最佳答案

而不是

var hdnSelector =  $("#hdnIn");  

您可以使用此选择器

var hdnSelector =  $(image).closest('ul').prev('input')  

您可以使用closestprev的组合

<强> Check Fiddle

关于javascript - 尝试使用 jQuery 选择父 DOM 中的隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17687580/

相关文章:

javascript - Jquery回调函数每次调用都会返回一次

javascript - td 内的 DIV 找不到父级

javascript - 使用 JavaScript 增加元素位置的问题

javascript - HTML 下拉菜单无法正常工作

javascript - 如何为移动设备制作固定的 div,但在单击时用滚动填充视口(viewport)

php - jQuery/JavaScript : How to get the nth pair in a group of pairs?

javascript - --这是广度优先还是深度优先搜索的例子?

javascript - 如何在php变量中获取span文本?

javascript - jquery click 不适用于 IE11 中动态添加的 href

php - 进度 URL dailymotion api