无法设置下拉列表的默认值?

时间:2014-06-07 06:16:48

标签: javascript jquery html sqlite jquery-mobile

在我的应用程序中有一个下拉列表,其中值是从数据库动态传递的。如果我在下拉列表中选择任何类别值并转到菜单,如果我重置数据库,我需要清除下拉列表的选择值并设置默认值“选择类别”。但是我无法清除下拉列表中的选定值。

我的代码如下,

脚本:

<script>
    function resetconformation()
    {
        var x;
        var r=confirm("Do you want to reset database!");
        if (r==true)
        {
        var db = window.sqlitePlugin.openDatabase({name: "MYDB"});
         db.transaction(function (tx) {
                           tx.executeSql('DROP TABLE IF EXISTS Locationlog');
                           });
        //$('#select-choice option:contains("Select Category")').prop('selected',true);
        $("#select-choice").empty();
        $("#locationList").empty();
        $("#maillocation").hide();
        var optionheading = '<option value="Select Category">Select Category</option>';
        $("#select-choice").append(optionheading);
        $("#select-choice").refresh();
        $('#select-choice option:contains("Select Category")').prop('selected',true);
        $('#select-choice option[value="Select Category"]').attr('selected',true);

        }
        else
        {

        }

    }
</script>

HTML:

<select name="select-choice" id="select-choice" data-mini="true" data-theme="a" style="width:230px">

选择类别

如何在重置数据库后设置默认值“选择类别”?任何建议..

2 个答案:

答案 0 :(得分:2)

工作示例:http://jsfiddle.net/Gajotres/tN56D/1/

您缺少一个错误行:

$("#select-choice").selectmenu('refresh', true);

每个动态添加的内容都必须手动增强,jQuery Mobile不会为您完成。

答案 1 :(得分:0)

为什么不

var sel = $("#select-choice").get(0); // get the DOM object
sel.options.length=1; // no need to delete all and add the Select Category each time
sel.selectedIndex=0;