在keyup按下时使用jquery从最近的span标签中获取文本

时间:2013-10-04 16:00:16

标签: javascript jquery jquery-selectors

我正在尝试使用类'item_price'从最近的span标记中获取文本并将其保存到变量中 - 有人能告诉我什么是错的

此外,我也试图抓住'隐藏'输入

    $('#ajax_basket').on('keyup','input',function(event) {    
     var qty = $(this).val();
     var item_price = $(this).find('span.item_price').text();
             var hidden_id;
     console.log(qty);
     console.log(item_price);
    });

<form id="ajax_basket">
<table>
    <tr><td><input type="hidden" name="1[rowid]" value="5333a934f53d623eb18c490b57522d93"></td></tr>
<tr>
  <td>Apple iPhone 2G</td>
  <td><input type="text" name="1[qty]" value="1" maxlength="2" size="1" class="input-mini qty"  /></td>
  <td style="text-align:right" class="item_price_row">&#36;<span class="item_price">15.00</span></td>
  <td style="text-align:right" class="sub_total">&#36;15.00</td>
</tr>
<tr>
  <td>Apple iPhone 5G</td>
  <td><input type="text" name="1[qty]" value="1" maxlength="2" size="1" class="input-mini qty"  /></td>
  <td style="text-align:right" class="item_price_row">&#36;<span class="item_price">115.00</span></td>
  <td style="text-align:right" class="sub_total">&#36;115.00</td>
</tr>   
    </tr>
</table>
</form>

2 个答案:

答案 0 :(得分:1)

您必须与父tr后退,然后find

$('#ajax_basket').on('keyup','input',function(event) {    
    var qty = this.value
    var item_price = $(this).closest("tr").find('span.item_price').text();

    var hidden_id;
    console.log(qty);
    console.log(item_price);
});

答案 1 :(得分:1)

以下行

$(this).find('span.item_price').text();

在文本框的后代中搜索spanitem_price

尝试以下内容:

$(this).parent().parent().find('span.item_price').text();