Javascript 如何在更改事件中从DB获取值?

Javascript 如何在更改事件中从DB获取值?,javascript,node.js,web,handlebars.js,Javascript,Node.js,Web,Handlebars.js,如何从DB中获取更改事件的值?这是一个例子 $("#key").on('change',function(){ $("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">'); }); $(“#widgetpanel”).html('>data=”http://localhost:8080/guest?key=“+$(this.val()+”项=??“>”) $("#

如何从DB中获取更改事件的值?这是一个例子

$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});
$(“#widgetpanel”).html('>data=”http://localhost:8080/guest?key=“+$(this.val()+”项=??“>”)

$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});
我正在使用下面的方法从下拉列表中获取密钥,但无法从路由器中获取项值。请建议如何从路由器获取第三个值以附加到URL字符串中

$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});
我的要求是从数据库中获取数据以显示在下拉列表中,并根据下拉列表值更改URL以在屏幕上显示不同的项目

$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});
下面的代码使用nodejs路由器从数据库检索值

router.get('/', function(req, res, next) {
c.query("SELECT w.title,w.key,w.item FROM widgets as w", function(err, rows, fields){
    if(err) throw err;
    //console.log(rows);
    res.render('index', {
        "widgets": rows
    });
});
});
$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});
下面的代码将DB值显示为下拉列表(键,值)。我可以在下面的屏幕上获得项目值{{item}},但我不想在这里

{{#if widgets}}

     <select id="key">
     <option value="">Select</option>
            {{#each widgets}}  

            <option value="{{key}}">{{title}}</option>
            {{/each}}
      </select>


{{else}}
<p>No Projects</p>
{{/if}}
$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});

您可以在
标记上使用一个额外属性来存储项目。您的渲染代码如下所示:

$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});
<select id="key">
<option value="">Select</option>
   {{#each widgets}}
   <option value="{{key}}" data-item="{{item}}">{{title}}</option>
   {{/each}}
</select>
$('#key').on('change', function() {
   var $o = $(this).children('option:selected');
   $("#widgetpanel").html('data="http://localhost:8080/guest?key='+$o.attr('value')+'item='+$(o).attr('data-item')+'">');
});
例如:

$("#key").on('change',function(){
$("#widgetpanel").html('data="http://localhost:8080/guest?key='+$(this).val()+'item=??">');


});
$('#key')。在('change',function()上{
var$selectedOption=$(this).children('option:selected');
var selectedKey=$selectedOption.attr('value');
var selectedItem=$selectedOption.attr('data-item');
变量url=”http://localhost:8080/guest?key=“+selectedKey+”&item=“+selectedItem;
$('#log').val(url);
});

挑选
标题1
标题2
标题3
标题4