什么jQuery函数将访问下一个表和此标记中的下一个Input [type = submit]按钮?

时间:2016-02-11 01:28:00

标签: javascript jquery forms

我有一个页面,其中包含销售mp3产品的地方。每个页面代表一个专辑实体。 每个页面至少包含一个专辑产品,并且至少有一个或多个mp3可作为单独的产品购买。 每个专辑和mp3产品都有一个输入[type = submit]按钮,用作“添加到购物车”按钮。

有些mp3已被指定为专辑。这是通过span标记进行标记。

<span class=“album-only-tag”>True</span>

基于该标记,我正在尝试编写一些可以执行3项操作的JavaScript:

•删除包含价格的表格

•禁用提交按钮,因此用户无法添加到购物车(他们必须购买相册)。

•将输入[type =“submit”]的值更改为“仅限专辑”。

此外,在按照mp3运行代码后,它需要停止,并保留其他价格表&amp; “添加到购物车”按钮完好无损。

我的jQuery代码不起作用。我想,我对next()函数的使用是不正确的。

我应该使用什么jQuery函数来访问下一个表格,并在此标记中输入下一个表格输入[type =“submit”]按钮?

顺便说一下 - 这里的标记已经缩写。

<div class="views-row views-row-1 views-row-odd views-row-first">
 <div  class="ds- 1col node node--ltv-track-ii node-teaser node-product-type node--ltv-track-ii node-product-type-teaser node-ltv-track-ii-teaser view-mode-teaser node--teaser node--ltv-track-ii--teaser clearfix">
 <span class="album-only-tag">True</span>
 <table class="commerce-price-rrp-your-price">
  <tr class="odd">
   <td class="webprice-title">Price</td>
   <td class="webprice-total">$5.95</td> </tr>
</table>
<div class="field field-name-field-product">
  <form class="commerce-add-to-cart commerce-cart-add-to-cart-form-1909 commerce-cart-add-to-cart-form-1909" action="/ltvalbums/wah/lokaha" method="post" id="commerce-cart-add-to-cart-form-1909" accept-charset="UTF-8">
<div><input type="hidden" name="product_id" value="1909" />
  <input type="hidden" name="form_build_id" value="form-qbskkxq4JIW0IEzmvAgwqow7QylhhgdtnfmqbHrdMe0" />
  <input type="hidden" name="form_id" value="commerce_cart_add_to_cart_form_1909" />
  <div id="edit-line-item-fields--2" class="form-wrapper"></div>        <input type="submit" id="edit-submit--2" name="op" value="Add to cart" class="form-submit" />
  </div>
  </form>
</div>

非常感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:1)

你走了,

$('.album-only-tag').each(function () {
    var table = $(this).next('table');
    var submitBtn = table.next('div').find('input[type="submit"]');

    // disable the add to cart button
    submitBtn.prop('disabled', true);

    // change the text to "Album only"
    submitBtn.val("album only");

    // remove the table
    table.remove();
});