0

私は次の作業コードを持っています。これにより、ドロップダウンが表示され、表示されるhtmlファイルもフェッチされます。

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

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

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

    <script type="text/javascript">

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

    </script>   

これをいくつかの追加事項に修正する必要があります。

まず、選択が行われたときに自動送信するためのドロップダウンが必要です。

次に、選択に関連するhtmlファイルを取得するために必要です。たとえば、「FML」オプションを選択した場合は、htmlファイル「FML_shares.html」を取得します。「GBP」を選択した場合は、「GBP_shares.html」を取得する必要があります。最後に、選択肢に関連するhtmlファイルがない場合は、「そのようなファイルはありません」などのエラーが表示されます。

もう少し複雑にするために、ファイル全体は必要ありません。ファイルにはテーブルがあり、データの最初の5列について、テーブルの最初の行からデータを取得し、それらだけを表示したいと思います。

助けてくれてありがとう、私はしばらくの間解決策を探していましたが成功しませんでした、そして私のJQuery / Javascriptの知識は非常に基本的です!(私は過去にPHPと同様のことをしましたが、それはここではオプションではありません)

4

2 に答える 2

0

さて、最初のポイントのためにあなたはただ走ることができました

$('#shares').on('change', function(){
    var val = $(this).val();
    //submit another ajax request with this value, and get the relevant page, then you'd just need to parse it for the appropriate content from that page.
});

返されたページを解析してその一部のみを取得する場合は、マークアップ構造を知る必要があります。

于 2012-09-29T18:20:13.077 に答える
0

提出を行うために作成しているドロップダウンのイベントにバインドするだけでよいようです。.changeこれは で取得できます.get。jQuery を使用して html を解析できます。それはそれの素晴らしい仕事をします:

.appendTo('#shares')
.change(function () {
   $.get($(this).val() + '_shares.html)
      .done(function (html) {
         var $table = $(html).find("table tr:first td").slice(0,5);
      })
      .fail(function () { /* no such file */ });
});

このコードはテストされていませんが、例に従っていただければ幸いです。GETまた、キャッシングにも注意してください。

于 2012-09-29T18:23:05.777 に答える