Javascript JQuery自动提交下拉列表

Javascript JQuery自动提交下拉列表,javascript,jquery,Javascript,Jquery,可能重复: 我有以下正在运行的代码: $.getJSON('json/shares.json', function(data) { var items = []; $.each(data.Shares, function(key, val) { items.push('<option id="' + val.shareName+ '">' + val.shareName+ '</option>'); }); $('<select/>', {

可能重复:

我有以下正在运行的代码:

$.getJSON('json/shares.json', function(data) {
var items = [];

$.each(data.Shares, function(key, val) {
items.push('<option id="' + val.shareName+ '">' + val.shareName+ '</option>');
});

  $('<select/>', {
    'id': 'shares_select',
    html: items.join('')
  }).appendTo('#shares');
});

$.get('lon_shares.html', function(data){     
$(data).appendTo('#shares');  
});
$.getJSON('json/shares.json',函数(数据){
var项目=[];
$.each(data.Shares、function(key、val){
items.push(“”+val.shareName+“”);
});
$('', {
'id':'shares_select',
html:items.join(“”)
}).附于(“#股份”);
});
$.get('lon_shares.html',函数(数据){
$(数据)。附加到(“#共享”);
});
这将使用JSON文件创建一个下拉列表。我需要它在进行选择时自动提交,然后获取相关的html文件,因此如果他们从下拉列表中选择“lon”,则文件为“lon_shares.html”,如果他们选择“par”,则文件为“par_shares.html”,依此类推


我不熟悉JQuery和Javascript,所以请举例说明它的外观,包括我的代码。谢谢。

您可以在选择框更改时触发表单提交

 $.getJSON('json/shares.json', function(data) {
        var items = [];
        $.each(data.Shares, function(key, val) {
               items.push('<option id="' + val.shareName+ '">' + val.shareName+ '</option>');
          });
        $('<select/>', {
          'id': 'shares_select',
          html: items.join('')
         }).appendTo('#shares')
         .change(function(){    
              $('form').trigger('submit');         
               $.get( this.value +'_shares.html', function(data){     
                     $(data).appendTo('#shares');  
               });
         });
});
$.getJSON('json/shares.json',函数(数据){
var项目=[];
$.each(data.Shares、function(key、val){
items.push(“”+val.shareName+“”);
});
$('', {
'id':'shares_select',
html:items.join(“”)
}).附件(“#股份”)
.change(函数(){
$('form')。触发器('submit');
$.get(this.value+''u shares.html',函数(数据){
$(数据)。附加到(“#共享”);
});
});
});
//假设这是html
//这应该在脚本标记中
$.getJSON('json/shares.json',函数(数据){
//这将清除下拉列表中以前的项目
$(“选择共享列表”).html(“”)
$.each(data.Shares、function(key、val){
$(“选择共享列表”).append(“”+val.shareName+“”);
});
});
//将更改事件绑定到下拉列表
$(“选择共享列表”)。更改(功能(e){
var el=$(e.currentTarget);
var share_name=el.attr('value');
var page=share_name+'.html';
$.get(第页,函数(数据){
$(数据)。附加到(“#共享”);
});
});

$(“##共享选择”)
?谢谢,所以我只需替换我的$.get('lon#u shares.html',function(data){$(data).appendTo('#shares');})@大卫:我对代码做了修改。这应该行得通。但我不确定表单提交。@Shusi-谢谢,但它似乎不起作用,我只是用上面的代码替换了我的代码,对吗?“我现在一滴也没有了。”@davidjwest对不起,我忘了关牙套“}”);是的,对不起,我认为我之前的问题更复杂,我试图简化它,因为我不明白答案,也无法让它们工作。
//Suppose this is the html
<select id="share-list">
</select>

<div id="shares">
</div>

//this should be in script tag
$.getJSON('json/shares.json', function(data) {
    //This clears previous items in the dropdown
    $("select#share-list").html('')

    $.each(data.Shares, function(key, val) {
        $("select#share-list").append('<option value="' + val.shareName+ '">' + val.shareName+ '</option>');
    });

});

//Binding a change event to the dropdown
$("select#share-list").change(function(e) {
    var el = $(e.currentTarget);
    var share_name = el.attr('value');
    var page = share_name+'.html';

    $.get(page, function(data){     
        $(data).appendTo('#shares');  
    });
});