首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JQuery/Javascript如何使用Get解析HTML

JQuery/Javascript如何使用Get解析HTML
EN

Stack Overflow用户
提问于 2012-09-30 02:16:09
回答 2查看 145关注 0票数 0

我有以下可用的代码。这将显示一个下拉列表,并获取要显示的html文件:

代码语言:javascript
代码运行次数:0
运行
复制
   $.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文件,那么应该显示错误,如“没有这样的文件”等。

为了让它更复杂一点,我不想要整个文件。文件中有一个表,我希望从表的第一行获取前五列数据,并单独显示这些数据。

感谢你的帮助,我已经寻找了一段时间的解决方案,但没有成功,我的JQuery/Javascript知识非常基础!(我以前也用PHP做过类似的事情,但这里不能这么做)

EN

回答 2

Stack Overflow用户

发布于 2012-09-30 02:20:13

对于第一点,你可以直接运行

代码语言:javascript
代码运行次数: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.
});

如果你想解析返回的页面并且只得到其中的一部分,我们需要知道标记结构。

票数 0
EN

Stack Overflow用户

发布于 2012-09-30 02:23:06

您似乎只需要绑定到正在创建的dropdown的.change事件即可完成提交,您可以使用.get检索该事件。您可以使用jQuery来解析html。它在这方面做得很好:

代码语言:javascript
代码运行次数:0
运行
复制
.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缓存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12655229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档