我有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);
}
});
});
答案 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{
}