伙计们,我正在尝试做这样的事情 我有两个href和一个文本框 < - > TEXT< +> 所以,当我按下 - 和+时,txt中的值必须增加或减少一个
<!-- <div class="quantity noprint">
<div class="subtract" title="Less Quantity"></div><input type="text" id="addToCartQty<%=addProduct.getLongID()%>" value="<%=addProduct.getInteger("ATR_WebMinQuantity",1)/addProduct.getInteger(MCRConstants.DM_ATR_LEGACY_CASE_VENDOR_PACK_SIZE,1) %>" name="ADD_CART_ITEM<>quantity" class="text" maxlength="3" /><div class="add" title="Add Quantity"></div>
</div> --!>
我正在使用jquery来+和 - 文本框中的值。每当我正确地按+它发生但是 - 它需要TEXT字段名称而不是它的值。任何解决方案都可以使其获取TEXT框的值 使用的Jquery如下:
$(".quantity .subtract").click(function () {
var qtyInput = $(this).next('input');
var qty = parseInt(qtyInput.val());
if (qty > 1)
qtyInput.val(qty - 1);
qtyInput.focus();
return false;
});
$(".quantity .add").click(function () {
var qtyInput = $(this).prev('input');
var qty = parseInt(qtyInput.val());
if (qty >= 0 && (qty + 1 <= 999))
qtyInput.val(qty + 1);
qtyInput.focus();
return false;
});
答案 0 :(得分:1)
.next()返回每个所选元素的下一个兄弟。如果将一个选择器传递给该函数,则仅当它与选择器匹配时才返回下一个兄弟。由于您的+和 - 链接是单独的元素,因此它们将具有不同的下一个兄弟。您正在寻找.siblings():
var qtyInput = $(this).siblings('input');
答案 1 :(得分:1)
您可能正在寻找nextAll()
功能:http://api.jquery.com/nextAll/。
答案 2 :(得分:0)
也许您可以尝试其他类型的查询:
$(".quantity .subtract").click(function () {
var qtyInput = $(this).closest('.quantity').find('input');
var qty = parseInt(qtyInput.val());
if (qty > 1)
qtyInput.val(qty - 1);
qtyInput.focus();
return false;
});
$(".quantity .add").click(function () {
var qtyInput = $(this).closest('.quantity').find('input');
var qty = parseInt(qtyInput.val());
if (qty >= 0 && (qty + 1 <= 999))
qtyInput.val(qty + 1);
qtyInput.focus();
return false;
});
答案 3 :(得分:0)
this有效。我清理了一些不必要的样本属性。
<强>更新强>
ADD_CART_ITEM<>quantity
可能是问题的原因吗? >
可以解释为结束标记,并导致奇怪的行为。至少,正如您从我的示例中看到的,您的代码应该可以工作,除非它中存在一些隐藏的问题。这个想法绝对是正确的。
答案 4 :(得分:0)
最后我解决了它,找到下面的jquery
$(".quantity .subtract").click(function () {
var qtyInput = $(this).nextAll('a');
var qtytxt = $(qtyInput).prev('input');
var qty = qtytxt.val();
if (qty > 1)
qtytxt.val(qty - 1);
qtytxt.focus();
return false;
});
我只是为href获得了所有下一个并获得了上一个,因此得到了TEXT的价值,就像我想要的那样。 感谢所有人,干杯;)