0

我有 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);
          }
     });
});
4

2 回答 2

1

检查 url 中的变量

getUrlVars()["search"];

这将获得 example.com/page 的值?搜索=yolo%20no

并把搜索的价值只是一种形式

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

这与选择菜单相同

<form method="get"><select name="dropdown"><option>Option 1</option></select></form>
于 2014-05-28T17:01:33.917 回答
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{

}
于 2012-04-17T23:08:28.370 回答