鍍金池/ 問答/PHP  HTML/ jq 獲取節(jié)點

jq 獲取節(jié)點

clipboard.png

我點擊+號的時候 怎么讓當前的li中的input 加 1?

這是部分代碼
html

<li class="first">
    <div class="number" style="width: 130px;">
        <span style="float: left;padding-top: 20px;">
        <a href="javascript:;" class="reduction_choice_book_number">-</a>
        <input style="margin: 0;" type="text" name="choice_book_number" value="<?php echo empty($output['buy_sgroup_goods_list_array']['goods_num_sum'])?'0':$output['buy_sgroup_goods_list_array']['goods_num_sum'];?>">
        <a href="javascript:;" class="add_choice_book_number">+</a>
        </span>
     </div>
</li>

js代碼

$('.add_choice_book_number').click(function(event){
            choice_book_number.val(Number(choice_book_number.val())+1);
            
        });
        

這樣點擊 + 號 的時候 所有的 input 都加1了 我想知道怎么把每一行的 + 號分別控制每一行的 input 求大神解

回答
編輯回答
青瓷

this關鍵字懂嗎

2018年7月20日 05:03
編輯回答
扯機薄

你也可以在標簽內寫一個方法呀,類似這樣:
onclick="test(this,其他變量)";
然后下面寫一個方法:
test(obj,其他變量){

$(obj).找到你要改變值的那個dom,然后加1即可。

}
純手打,希望幫到你

2017年9月5日 05:00
編輯回答
慢半拍

找到當前元素緊鄰的input,然后取值并修改

$('.add_choice_book_number').click(function(event){
  event.preventDefault();
  let input = $(this).prev();
  input.val(input.val()++);
});
2017年10月17日 09:00
編輯回答
尋仙

用this對象來確定是哪一個發(fā)生點擊事件.通過this對象找到input,在修改值.而不是直接用一個全局的.add_choice_book_number注冊事件,在里面獲取

var element = $(this).siblings('input');
element.val(Number(element.val() + 1));

siblings是兄弟節(jié)點的意思
純手打,弄錯了別怪哈.

2018年2月9日 19:19
編輯回答
孤酒

由于有多個input,但是點擊事件只會寫一次,這樣的話,就會需要使用到this關鍵字了,在jq中$(this)指代的是當前添加點擊事件的頁面元素,所以click事件可以這樣寫:
如果input針對于當前點擊元素是父級元素,可以使用$(this).parent()....知道選擇input元素;
如果是同級,上一個兄弟使用$(this).prev();如果是下一個,使用$(this).next();
如果是子集元素,使用$(this).find('');
選擇到之后,即可使用number方法,也可以使用val($(this).xxx.val()+1);
另外,一般這種訂單類的元素都是動態(tài)生成的,添加事件可以使用on()方法;

2018年5月14日 18:37
編輯回答
夢囈

這主要就看你的變量choice_book_number是怎么來的了
像樓上說的parent>find或siblings都可以也可以考慮prev

2017年3月3日 20:49
編輯回答
若相惜

這樣子肯定是不行的噻
你要先獲取點擊的this,然后用這個this查找和它同級的input,并修改它的數值
部分代碼

let _input =  $(this).parent().find('input');
_input.val(_input.val()++)
2018年5月9日 19:23
編輯回答
貓小柒
$('.add_choice_book_number').click(function(event){
    var inputEle = $(this).prev();
    inputEle.val(inputEle .val()++); 
});
2017年5月13日 21:08