0

重複の可能性:
JQuery/Javascript Get を使用して HTML を解析する方法

私は動作している次のコードを持っています:

$.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');  
});

これにより、JSON ファイルを使用してドロップダウン リストが作成されます。選択が行われたときに自動送信して関連するhtmlファイルを取得する必要があるため、ドロップダウンから「lon」を選択するとファイルは「lon_shares.html」になり、「par」を選択すると「par_shares.html」になり、すぐ。

私はJQueryとJavascriptが初めてなので、私のコードを含めてどのように見える必要があるかの例を教えてください.

4

2 に答える 2

1

選択ボックスの変更時にフォームの送信をトリガーできます。

 $.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');  
               });
         });
});
于 2012-09-30T10:55:34.107 に答える
1
//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');  
    });
});
于 2012-09-30T11:02:04.797 に答える