如何使用Javascript或jQuery从URL获取查询字符串以填充选择值?

时间:2012-04-17 16:57:32

标签: javascript jquery

我有3个选择或选项下拉列表,这些列表基于用户选择需要填充的内容,或者根据查询字符串选择下拉列表的选择值。所以我想我需要帮助获取URL和查询字符串,并找出它是否包含用户选择填充选择值的任何内容。

现在,当用户选择它们时,我的选择值不会持久,然后提交搜索。我如何使用Javascript或jQuery保持持久性? 我的另一个问题是用户可以搜索所有选项,我有这个工作,但有一个复选框放置一个值,并读取值来搜索所有内容。在第一页加载时,如何选中该复选框并使用查询字符串'?search =%20%20%200'来填充URL查询字符串。提前谢谢。

这是我目前的JS:

var resourceGradeId;
var resourceContentId;
var resourceProgramTypeId;
var resourceSearchAll;

$(document).ready(function() {

var searchAll = '<strong>' + "All" + '</strong>';
$('#xsltsearch_summary .dmnsSearchResultNumber:contains("0")').replaceWith(searchAll); 

$("#resourceSelect").click(function (event) { 
resourceGradeId = $('#teachersResourceSearchGrade').val();
 resourceContentId = $('#teachersResourceSearchContent').val();
 resourceProgramTypeId = $('#teachersResourceSearchProgramType').val(); 
resourceSearchAll = $('#teachersResourceSearchAll').val();
window.location.href = '/teachers/classroom-resources?search=' + resourceGradeId + ' ' + resourceContentId + ' ' + resourceProgramTypeId + ' ' + resourceSearchAll;
    });

$("select option").attr('disabled', false);

    $(":checkbox").click(function(event) { 
    //reset values
    if($(":checkbox").is(":checked")){
          $("#teachersResourceSearchGrade").val('');
          $("#teachersResourceSearchContent").val('');
          $("#teachersresourceProgramTypeId").val('');
          $("#teachersResourceSearchAll").val('0');
          $("select").attr('disabled', true);
        }
    else
        { 
          $("#teachersResourceSearchAll").val('');
          $("select").attr('disabled', false);
          $("select option").attr('disabled', false);
          }
     });
});

2 个答案:

答案 0 :(得分:1)

检查网址中的变量

getUrlVars()["search"];

这将获得example.com/page?search=yolo%20no

的价值

要把搜索的价值放在一个表格

<form method="get"><input type="text" name="search"/></form>

这与选择菜单

相同
<form method="get"><select name="dropdown"><option>Option 1</option></select></form>

答案 1 :(得分:0)

刚刚使用过这个

var myQuery = window.location.search.substring(1);

// alert(myQuery);

if(myQuery == ''){

  window.location.href = document.URL + '?search=%20%20%200';

$(":checkbox").attr('checked', 'checked');

//alert('no query');

}else if(myQuery == 'search=%20%20%200'){

  $(":checkbox").attr('checked', 'checked');

} 

else{

}