使用Javascript / JQuery将页面上的数据存储到变量中

时间:2014-12-07 06:06:05

标签: javascript jquery

所以我试图在点击按钮时将数据存储到页面上的变量,有多个按钮,它需要存储该特定按钮的数据。这些按钮中的每一个都嵌套在<form onsubmit></form>内,我需要额外的所有数据都在此表单中的不同<input><div>标记中。所以使用javascript或jquery如何选择特定和标记的值。因此,当点击按钮时,它会将此产品添加到购物车,我想获取productNumber,price和quantity并将它们存储到我自己的变量中。单击按钮时,论坛会调用onsubmit =&#34; ShoppingCartAddAJAX(this);所以我想将这些数据存储在ShoppingCartAddAJAX函数中。

以下是页面上的一个表单。

<form method="post" name="addtocart-501" onsubmit="ShoppingCartAddAJAX( this ); return false;">
    <input type="hidden" name="formName" value="ShoppingCartAddAJAX" />
    <input type="hidden" name="productNumber" value="758201" />
    <input id="qtyproduct" type="hidden" class="hiddenqty" name="dmst_Qty_2805" value="1" />
                    <div class="price">  
                        <div class="pricenew singleprice">
                            $7.99
                        </div>
                    </div>
                </a>

            </div>
        </div>
    </li>
</form>

所以我一直试图通过做这样的事情来获取这些数据。

var pn = $('input[name$="productNumber"]').val();
var qty = $('input[id$="qtyproduct"]').val();

在我的javascript文件中,该函数看起来像这样:

function ShoppingCartAddAJAX(formElement, productNumber) {

var pn = $('formElement.input[name$="productNumber"]').val();
var aa = $('formElement[name$="productNumber"]').val();
var qty = $('input[id$="qtyproduct"]').val();
}

但是有很多代码......只是显示函数正在传递formElement和productNumber。

但是这给了我页面上第一个产品的产品编号和数量,我需要用户决定点击的按钮的数据,页面上有多个不仅仅是一个。我希望当单击按钮并触发该功能时,有一种方法可以查看它来自哪个论坛,然后提取该数据。我也希望能够得到价格,但它存储在<div class="pricenew singleprice"> $7.99</div>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您正在获取第一条记录的产品编号和数量,因为表单中有多个输入字段,其名称为productNumber(根据您的说明)。所以这里基本上发生的是当你调用$('input[name="productNumber"]').val()时,jquery会返回第一个输入字段的值。而不是那样,在ShoppingCartAddAJAX函数中执行类似的操作。

function ShoppingCartAddAJAX(form)
{
    // Find child an element inside our form with the id of "qtyproduct"
    // I used "find("#qtyproduct")" method so it searches anything nested inside your specific form element
    // You can use "children("#qtyproduct")" method also

    var qty = $(form).find("#qtyproduct").val();
    var pn  = $(form).find("input[name='productNumber']").val();
    var pp  = $(form).find(".pricenew.singleprice").text();
}