将数据提交到单个var中

时间:2011-12-30 19:24:33

标签: jquery forms attributes unique-key

我将一些表格中的值传递给函数,以便为数据库插入做好准备。 该功能理论上运行正常。然而,它错过了一个让我在遇到麻烦的独特价值。 我正在尝试根据提交给数据库的数据生成唯一ID。 我想生成这样的ID:

  

var mystringId = prodID +'{'+ selectId +'}'+ selectedOptionValue;

应输出例如: 20 {100} 3 {200} 6 。 在我的示例中,它生成以下内容:

20 {100} 3

20 {200} 6

因为each();

$("#submitme").live('click', function() {
//var mystringId = prodID;
    $('select').each(function() {
        var addedOn = new Date();
        var selectName= $(this).attr("name");        
        var selectId= $(this).attr("id");
        var selectedOption = $(this).find('option:selected');
        var selectedOptionValue = selectedOption.val();
        var selectedOptionText = selectedOption.text();

        var mystringId = prodID+'{'+selectId+'}'+selectedOptionValue;

        db.transaction(function(tx) {
        tx.executeSql('INSERT INTO xxxxx mystringId');

        });

    });
    $.mobile.changePage( "#cart", { transition: "slideup"} );
    });

1 个答案:

答案 0 :(得分:2)

从我可以从您的问题中收集到的内容,您只需在当前代码之前执行每个循环,以便在您希望在代码中使用的格式生成mystringId

<强>代码

$("#submitme").live('click', function() {
    var mystringId = prodID;

    $('select').each(function() {
        var selectId= $(this).attr("id");
        var selectedOption = $(this).find('option:selected');
        var selectedOptionValue = selectedOption.val();

        mystringId += '{' + selectId + '}' + selectedOptionValue;
    });

    $('select').each(function() {
        var addedOn = new Date();
        var selectName= $(this).attr("name");
        var selectId= $(this).attr("id");
        var selectedOption = $(this).find('option:selected');
        var selectedOptionValue = selectedOption.val();
        var selectedOptionText = selectedOption.text();

        db.transaction(function(tx) {
            tx.executeSql('INSERT INTO xxxxx mystringId');
        });
    });

    $.mobile.changePage( "#cart", { transition: "slideup"} );
});

<强>结果

结果将是mystringId,从prodID mystringId = 20

的值开始

循环的第一次迭代会追加{100}3,导致mystringId = 20{100}3

循环的第二次迭代会追加{200}6,导致mystringId = 20{100}3{100}6