How to pass a variable inside a jquery fonction $.each($("abc")...?

Posted by Rock on Stack Overflow See other posts from Stack Overflow or by Rock
Published on 2012-03-30T05:27:05Z Indexed on 2012/03/30 5:28 UTC
Read the original article Hit count: 144

Filed under:
|
|
|

I'm trying to iterate a bunch of SELECT OPTION html drop-down fields and from the ones that are NOT empty, take the values and add a hidden field for a PAYPAL shopping cart.

My problem is that for some reason, the variable "curitem" is not passed inside the each function and I can't add the hidden field like they should. All I get is "NaN" or "undefined".

What PAYPAL expect is : item_name_1, item_name_2, etc. All numbers must iterate by +1.

How can I do this?

Thanks a bunch in advance

var curitem;

$.each($("select"), function(index, item) {

    var attname = $(this).attr("name");
    var nom = $(this).attr("data-nom");
    var prix = $(this).attr("data-val");
    var partname = attname.substring(0, 1);
    var qte = $(this).val();

    // i want all my <select option> items that the NAME start with "q" AND have a value selected
    if (partname == "q" && isNaN(qte) == false && qte > 0) {

        // item name
        var inp2 = document.createElement("input");
        inp2.setAttribute("type", "hidden");
        inp2.setAttribute("id", "item_name_"+curitem);
        inp2.setAttribute("name", "item_name_"+curitem);
        inp2.setAttribute("value", nom);

        // amount
        var inp3 = document.createElement("input");
        inp3.setAttribute("type", "hidden");
        inp3.setAttribute("id", "amount_"+curitem);
        inp3.setAttribute("name", "amount_"+curitem);
        inp3.setAttribute("value", prix);

        // qty
        var inp4 = document.createElement("input");
        inp4.setAttribute("type", "hidden");
        inp4.setAttribute("id", "quantity_"+curitem);
        inp4.setAttribute("name", "quantity_"+curitem);
        inp4.setAttribute("value", qte);

        // add hidden fields to form
        document.getElementById('payPalForm').appendChild(inp2);
        document.getElementById('payPalForm').appendChild(inp3);
        document.getElementById('payPalForm').appendChild(inp4);


        // item number
        curitem = curitem + 1;
    }
});

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery