Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery.next()函数不起作用_Javascript_Jquery_Dom - Fatal编程技术网

Javascript Jquery.next()函数不起作用

Javascript Jquery.next()函数不起作用,javascript,jquery,dom,Javascript,Jquery,Dom,伙计们,我正试着做这样的事情 我有两个HREF和一个文本框 正文 因此,当我按下-和+时,txt中的值必须增加或减少1 <!-- <div class="quantity noprint"> <div class="subtract" title="Less Quantity"></div><input type="text" id="addToCartQty<%=addProduct.getLongID()%>" value=

伙计们,我正试着做这样的事情 我有两个HREF和一个文本框 正文 因此,当我按下-和+时,txt中的值必须增加或减少1

<!-- <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> --!>
.next()返回每个选定元素的下一个同级。如果将选择器传递到函数中,则仅当下一个同级与选择器匹配时,才会返回该同级。由于+和-链接是独立的元素,因此它们将具有不同的下一个同级。您正在寻找。兄弟姐妹()


您可能正在查找
nextAll()
函数:。

您可以尝试其他类型的查询:

$(".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;
});
$(“.quantity.subtract”)。单击(函数(){
var qtyInput=$(this).closest('.quantity')。find('input');
var qty=parseInt(qtyInput.val());
如果(数量>1)
数量输入值(数量-1);
qtyInput.focus();
返回false;
});
$(“.quantity.add”)。单击(函数(){
var qtyInput=$(this).closest('.quantity')。find('input');
var qty=parseInt(qtyInput.val());
如果(qty>=0&(qty+1有效。我清理了一些不必要的属性,用于此示例

更新:


ADD\u CART\u ITEMquantity
可能是问题的原因吗?
可能会被解释为结束标记并导致奇怪的行为。至少,正如您从我的示例中看到的,您的代码应该可以工作,除非其中有一些隐藏的问题。这个想法绝对正确。

最后我解决了它,找到下面的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的all-next和prev-one,因此得到了我想要的文本值。
感谢大家,干杯;)

所以如果我使用var qtyInput=$(this.sillides('input');和qtyInput.val()那么这将给我文本框的值?是否假设文本框是唯一的输入元素,是+和-元素的同级元素,是的。它不能被解释为结束标记,因为它在HTML中工作良好。否则页面本身将偏离轨道。最重要的是,它在引号中给出,因此不会弄乱页面。是的,我确实知道这一点,但这应该是有原因的。你关注我的链接了吗?它都在那里工作,有什么想法吗?为什么?与你最初的样本有什么不同?是的,我关注链接,就像你说的那样,它们都在那里工作正常。即使我尝试了带有符号的名称,我想它也工作正常。让我看看我是否可以更改名称HeRF(DIV)进入ButoNSI创建了一个:仍然在工作。没有脚本更改!考虑将这个答案标记为“接受”,点击它旁边的“滴答”或“检查”图标。
$(".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;
});
  $(".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;
    });