Javascript jQuery选择器:当我有多个选择菜单时,如何指定一个选择菜单?
我有4个选择菜单,都有相同的产品。(用户应该使用选择菜单将产品添加到发票中) 因此,每个部分都由一个选择菜单、一个数量文本字段和一个价格文本字段组成。但我有四个在同一页 每当我从选择菜单中选择产品时,我都想更改数量和价格。但更具体地说,我只想知道,如何找出点击了哪个选择菜单 如果选择菜单有一类产品(.product),当我选择一个产品时,所有部分都会受到影响。但我只想影响特定的选择菜单部分Javascript jQuery选择器:当我有多个选择菜单时,如何指定一个选择菜单?,javascript,jquery,selector,Javascript,Jquery,Selector,我有4个选择菜单,都有相同的产品。(用户应该使用选择菜单将产品添加到发票中) 因此,每个部分都由一个选择菜单、一个数量文本字段和一个价格文本字段组成。但我有四个在同一页 每当我从选择菜单中选择产品时,我都想更改数量和价格。但更具体地说,我只想知道,如何找出点击了哪个选择菜单 如果选择菜单有一类产品(.product),当我选择一个产品时,所有部分都会受到影响。但我只想影响特定的选择菜单部分 $(".product").change(function(event){ alert('produc
$(".product").change(function(event){
alert('product picked'); // testing
});
我不能只是附加一个数字,像这样:product1,product2,product3。因为在javascript文件中,我必须编写4个不同的函数
$(".product1").change(function(event){,
$(".product2").change(function(event){, etc.
我知道这是非常基本的,但我需要刷新我的jQuery内容
这是HTML的一些形式。为了简化,我只包括了产品选择菜单和数量文本字段
<div class="item">
<p>
Product:
<select class="product" id="invoice_line_items_attributes_0_item_id" name="invoice[line_items_attributes][0][item_id]"><option value="1" data-defaultquantity="1">WP setup</option>
<option value="2" data-defaultquantity="1">WordPress Theme Design</option>
<option value="3" data-defaultquantity="1">WHE/yr</option>
<option value="4" data-defaultquantity="1">WHE/mo</option></select>
</p>
Qty: <input class="quantity" id="invoice_line_items_attributes_0_quantity" name="invoice[line_items_attributes][0][quantity]" size="30" type="text" value="1"><br>
</div><hr>
<div class="item">
<p>
Product:
<select class="product" id="invoice_line_items_attributes_1_item_id" name="invoice[line_items_attributes][1][item_id]"><option value="1" data-defaultquantity="1">WP setup</option>
<option value="2" data-defaultquantity="1">WordPress Theme Design</option>
<option value="3" data-defaultquantity="1">WHE/yr</option>
<option value="4" data-defaultquantity="1">WHE/mo</option></select>
</p>
Qty: <input class="quantity" id="invoice_line_items_attributes_1_quantity" name="invoice[line_items_attributes][1][quantity]" size="30" type="text" value="1"><br>
</div><hr>
产品:
WP设置
WordPress主题设计
WHE/年
WHE/mo
数量:
产品:
WP设置
WordPress主题设计
WHE/年
WHE/mo
数量:
在事件处理程序中,此
将绑定到相关的
元素
$(".product").change(function(event){
alert($(this).attr('name')); // name of <select> element changed
});
删除了我的答案,这与你的答案相似。回答得很好。如果您想将$(this)传递给子函数,可以使用subfunction.call($(this),更多参数。可能会有帮助。谢谢。它确实给了我有关数据属性的想法。我最终使用了Keith的答案,因为我有多个选择菜单,用户可能会在多个选择菜单中选择相同的产品。所以我不能用身份证。但我可以看出这在一个选择菜单的情况下是多么有用,它更清晰、更简洁。我最终使用了这个答案,因为有不止一个选择菜单。如果在多个选择菜单中选择了同一产品,则需要按最近点选择,而不是按id选择菜单。
<select name='whatever' data-quantity-id="whatever" data-price-id="whatever">
<option ... >
</select>
$('.product').change(function(event) {
var $quantity = $('#' + $(this).data('quantityId'));
var $price = $('#' + $(this).data('priceId'));
// ...
});
$(".product").change(function(event){
$(this).closest(".section").find(".quantity").val("somevalue");
$(this).closest(".section").find(".price").val("somevalue");
});