点击添加(OptionID
)链接后如何获得.plus-link
的值?
每个li可能包含select(下拉列表)或没有它。
<ul>
<li>
<div class="menux">
<div class="text-block">
<div class="text-holder">
<h3> Item Name </h3>
<p> Description </p>
</div>
</div>
<div optionid="46812" class="price"> <strong>£4.90</strong> </div>
<div class="add-item"> <a class="plus-link" href="#">plus</a> </div>
</div>
</li>
<li>
<div class="menux">
<div class="text-block">
<div class="text-holder">
<h3> Item Name 2 </h3> </h3>
<p> Description </p>
</div>
</div>
</div>
<form class="menu-form" action="#">
<fieldset>
<a class="plus-link" href="#">plus</a>
<select id="optionid" class="select">
<option value="1">9", £3.99</option>
<option value="2">12", £5.49</option>
</select>
</fieldset>
</form>
</li>
</ul>
Jquery的
$(document).ready(function() {
$("li .plus-link").click(function(event) {
event.preventDefault();
alert( $(this).attr("OptionID") );
});
});
答案 0 :(得分:2)
你可以试试这个
在那里编辑稍微被误解的问题并更新新标记
$(document).ready(function() {
$("li .plus-link").click(function(event) {
event.preventDefault();
var prev = $(this).closest('li').find('#optionid, .price');
var OptionId = prev.val() || prev.attr('optionid');
console.log(OptionId);
});
});
的示例
答案 1 :(得分:2)
你想要抓住.siblings('。OptionID')。然后假设您只想要该组合框的值,您将使用.val()来获取所选值:
http://jsfiddle.net/MacAnthony/zzrrp/
修改强>
响应编辑试试这个。它将查找具有属性的select和div,并且应该能够遍历不是直接兄弟姐妹的树。
答案 2 :(得分:0)
您正在尝试使用引用锚点的$(this)
来获取属性OptionID。您应该使用prev()
遍历树并获取selectbox值。
$(document).ready(function() {
$("li .plus-link").click(function(event) {
event.preventDefault();
alert( $(this).prev(".OptionID").val() );
});
});
在这种情况下。你应该使用
$(document).ready(function() {
$("li .plus-link").click(function(event) {
event.preventDefault();
alert( $(this).siblings('.OptionID').val() );
});
});