0

在下面的函数中,我渲染了一个选择框。我不确定如何明智地从数据库代码中提取选项,这些选项将集成到现有代码中......谢谢。

function renderDrinks_Mixer(menucat2)
{
  $('#tblDrink').empty();
  db.transaction(function(tx) 
    {        
        tx.executeSql('SELECT * FROM Menu where f_objmenucat2="'+ menucat2 +'"', [],         
        function(tx, results) 
        {            
            var len = results.rows.length, i;                                
            for (i = 0; i < len; i++) {                                                                                 

            var len = results.rows.length, i;                                
            for (i = 0; i < len; i++) {                         
              $('#tblDrink').append('<tr class="simpleCart_shelfItem">'

              +'<td class="pcont"><span class="item_category" style="display:none">'+ results.rows.item(i).category +'</span><h3><span class="item_name">'+ results.rows.item(i).drinkname +'</span></h3>'
              +'<p>'+ results.rows.item(i).desc +'</p></td>'
              +'<td align="center" cellpadding="0" cellpadding="0">'
              +'<select data-theme="f" name="'+ results.rows.item(i).drinkname +'" data-iconpos="notext" data-icon="Plus" data-native-menu="true" id="stringselect">'

                  //#### HELP HERE -PULL OPTIONS FROM DB, NOT SURE HOW TO INTEGRATE ####/

                    +'</select>'
              +'</td>'
             +'</tr>').trigger('create');             
            }                                
          }                    
        }
        , null);                                
    }
    );


}
4

1 回答 1

0

你可能需要$.post(). 您应该创建一些JSON 端点(将以 JSON 格式返回数据的脚本)并在每次要检索列表所需的数据时对其进行查询。

例如:

$.post("json_endpoint.php", { someParameter: 'and_its_value' },
   function(data){ // requestReady handler
     // do whatever you need with retrieved data.
     // here you can do some logic for enumerating list items from object retrieved from your endpoint
   }
);

这样你就可以很容易地集成它并支持在未来作为一个单独的脚本,数据库逻辑将从 JS 工作流中分离出来。JS 工作流将仅依赖于端点返回的数据。

于 2012-08-16T15:39:35.177 回答