在SQLite中存储jQuery Mobile optgroup的值

时间:2014-04-21 21:25:41

标签: jquery sqlite jquery-mobile

我有一个这样的optgroup,例如:

<select id="opt1" multiple="multiple" data-native-menu="false" data-icon="grid" data-iconpos="left">
            <optgroup label="optgroup options" id = "opt">
                <option value="option1">Option1</option>
                <option value="option2">Option2</option>
            </optgroup>
        </select>

它采用jQuery Mobile风格,您可以选择多个框。我想知道,一旦你选择了多个方框,它就会出现在选择菜单上用逗号分隔的列表中。像:

option1,option2(如果同时选择了option1和option2)

我如何将option1和option2存储为数据库中的单独值?例如,如果我有一个名为“selectedoptions”的列,我将如何拥有它:

selectedoptions

选项1
option2

而不是:

selectedoptions

option1,option2

在我的数据库表中

希望这是有道理的,欢迎任何答案。

编辑:这是我用来存储多选值的代码:

db.transaction(function(transaction) {
               transaction.executeSql('INSERT OR REPLACE INTO myTable(Id, selectedoptions)\
                                      VALUES(1,?)',[$('#myoptgroup').val()],
                                      nullHandler,errorHandler);

               });

这将返回我选择的值,如下所示:如果之前提到的那两个都被选中,则我的表行中的option1,option2。

1 个答案:

答案 0 :(得分:1)

在多重选择元素中,val()实际上已经返回了所选值的数组。您正在看到以逗号分隔的列表,因为这是调试器显示数组的方式。所以你可以像这样轻松地迭代数组:

var sel = $("#opt1").val();
for (var i=0; i< sel.length; i++){
    //create individual row here
    alert(sel[i]);
}
  

<强> DEMO