JQuery / Javascript如何使用Get解析HTML

我有以下工作代码。 这会显示一个下拉列表并提取要显示的html文件:

$.getJSON('json/shares.json', function(data) { var items = []; $.each(data.Shares, function(key, val) { items.push('' + val.shareID+ ''); }); $('', { 'id': 'shares', html: items.join('') }).appendTo('#shares'); });   $.get('lon_shares.html', function(data){ $(data).appendTo('#shares'); });  

我需要修改一些额外的东西。

首先,我需要在做出选择时将下拉菜单自动提交。

然后我需要它来获取与选择相关的html文件,例如,如果他们选择“FML”选项,如果他们选择“GBP”,它将获得html文件“FML_shares.html”然后它应该得到“GBP_shares.html”最后如果选择没有任何与之相关的html文件,那么应该显示一个错误,例如“没有这样的文件”等。

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

感谢您的帮助,我一直在寻找解决方案一段时间没有任何成功,我的JQuery / Javascript知识非常基础! (我过去做过与PHP类似的事情,但这里不是一个选项)

那么第一点就可以了

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

如果要解析返回的页面并仅获取其中的一部分,我们需要知道标记结构。

好像你只需要绑定到你正在创建的下拉列表的.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缓存。