2012-04-20 38 views
0

我已经得到了这个伟大的jQuery tablesorter,但我错过了一个关键部分。详细信息:该表由数百个按主题分类的报告链接组成。他们的主题可以通过简单的选择下拉菜单进行分割。从URL中获取选项值以从下拉列表中呈现特定的菜单项

我在寻找的是从URL中获取选项值以从下拉列表中呈现特定菜单项的能力。这样我可以有一个只显示一行主题的URL(例如:500个报告中的30个)。

我知道PHP很容易,但这不是一个选项,我认为一些使用document.location.search可以让我在那里。

当然,我是一个JavaScript新手,所以没有人看到如何实现这种代码方式?

谢谢大家,非常感谢!

<script type="text/javascript"> 
$(function() { 
      $("#example-4").addClass("beautifulData").beautify(
        { 
         pageSize : 25, 
         pagerSize : 5       
        }); 

    $("#txt_topics").keyup(function() { 
     $("#example-4").beautify("rebuild", { filter : 
        { 6 :$("#txt_topics").val() } }); 
    });  

    $("#select1").change(function() { 
      $("#example-4").beautify("rebuild", { filter : 
        { 6 :$("#select1").val() } }); 
    }); 

<select id="select1"> 
<option value="">Choose a Topic</option> 

<option value="topic_A">Topic A</option> 
<option value="topic_B">Topic B</option> 
<option value="topic_c">Topic C</option>  

回答

0

的window.location的对象包含URL信息。您可以使用它来提取您感兴趣的查询参数。 Chrome有一个window.location.search属性,它包含'?'和之后的一切。应该让你到你想去的地方。 示例网址“http://www.myawesomesight.com/tabledata?option=topicA”:

var queryString = window.location.search.substr(1); //substr dumps the leading '?' 
var queryParams = queryString.split('&'); 
for (var i in queryParams) { 
    var tokens = queryParams[i].split('='); 
    var key = tokens[0]; 
    var value = tokens[1]; 

    // insert logic here to handle when you find the key that you want 
} 

有可能是做一个更好的办法,但是这是我所使用的方法,我当前的项目。

+0

嗯,“第四行的语法错误”或者5.可能有任何想法? – realcheesypizza 2012-04-20 18:25:09

+0

哦。我是个白痴。需要从queryParams数组中调用索引。将queryParams.split更改为queryParams [i] .split ...应该可以工作。 – vansimke 2012-04-20 19:15:08

+0

仍然是第4行或第5行中的语法错误。:( – realcheesypizza 2012-04-26 14:21:11

相关问题