在查询中获取选择菜单的选定值的问题?

时间:2014-04-09 05:24:34

标签: javascript jquery jquery-ui jquery-mobile

我的页面中有一个选择菜单,用于加载来自DB的值。我可以在选择菜单中查看值。但在显示所选值时,我无法正确显示。即如果该值包含任何空格,则它没有获得全部价值(例如:如果我选择"威尔逊花园",我只得到"威尔逊"。它正在显示"威尔逊Garden"在选择框中,当我尝试通过更改事件获得该值时,我只得到了" Wilson",所有具有空间的值都会发生同样的事情。

我的HTML代码是:

<select name="select-choice-1" id="select-choice-1">
 <option value="Select Category">Select Category</select>
</select>

我的Jquery代码如下,

     $("#select-choice").on('change', function(event) {
              alert( this.value );
              console.log("Category is: " +this.value); // Here I am getting the value.. 
               });

//动态存储值以选择菜单..

$(document).on("pagebeforeshow","#homePage",function(){

     var db = window.sqlitePlugin.openDatabase({name: "MYDB"});
     db.transaction(function (tx) {
       tx.executeSql("select distinct Category from Locationlog;", [], function (tx, res) {
            for (var i = 0; i < res.rows.length; i++) {
                 $("#select-choice").append('<option value='+res.rows.item(i).Category+'>'+res.rows.item(i).Category+'</option>');
              }
            $("#select-choice").listview('refresh');
          });
         });
      });

1 个答案:

答案 0 :(得分:0)

因为你没有引用该属性。您需要将这些值包装在双引号旁边。

var opt  = '<option value="';
    opt += res.rows.item(i).Category;
    opt += '">';
    opt += res.rows.item(i).Category;
    opt += '</option>';

$("#select-choice").append(opt);