我需要从图像中获取数据值并将其放在隐藏字段上,而不使用隐藏字段的 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')
您可以使用closest
和prev
的组合
<强> Check Fiddle
关于javascript - 尝试使用 jQuery 选择父 DOM 中的隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17687580/