用户点击组合框后重新加载页面(有一些规则)

时间:2014-07-18 19:12:27

标签: javascript jquery html combobox

我是javascript的新手,需要在用户点击组合框的选项后重新加载当前页面,但我有一些规则。

两个组合框:

<select onChange="Refresh(this.value)" name="comboA">
    <option value="0">0</option>
    <option value="1">1</option>
</select>

<select onChange="Refresh2(this.value)" name="comboB">
    <option value="2">2</option>
    <option value="3">3</option>
</select>

规则:

  • 用户点击&#34; 0&#34;在第一个组合框中,重新加载到www.mypage.com?comboA=0。
  • 用户点击&#34; 1&#34;在第一个组合框中,替换&#34; 0&#34;到&#34; 1&#34;并重新加载到www.mypage.com?comboA=1
  • 用户点击&#34; 2&#34;在第二个组合框中,连接并重新加载到www.mypage.com?comboA=1&comboB=2
  • 用户点击&#34; 3&#34;在第二个组合框中,替换&#34; 2&#34;到&#34; 3&#34;并重新加载到www.mypage.com?comboA=1comboB=3

上述步骤需要按顺序完成。

功能如何&#34;刷新&#34;和&#34; Refresh2&#34;应该是吗?

感谢。

4 个答案:

答案 0 :(得分:1)

我不会直接向您提供代码,但我可以帮助您研究您的答案,以便您可以随时学习JavaScript。

你可以使用jQuery帮助你,但特别是.change()函数来检测组合框是否被更改:http://api.jquery.com/change/

要实际刷新页面或更改为其他页面,可以使用window.location函数将用户定向到页面。 Window.location.href and Window.open () methods in JavaScript

要实际更改页面上的元素,而不重新加载页面,您可以使用jQuery ajax将更改发布到PHP(如果需要)。 http://api.jquery.com/jquery.ajax/

我希望这可以帮助您学习更多JavaScript

答案 1 :(得分:1)

第一个函数只需导航到同一个网址,然后导航到?comboA=,然后导航到第一个参数,如下所示:

function Refresh(value) {
    URL = window.location.href.split("?")[0];
    window.location.replace(URL + "?comboA=" + value);
}

第二个功能必须保留?comboA=value部分,以便在第一个&之后分开:

function Refresh2(value) {
    URL = window.location.href.split("&")[0];
    window.location.replace(URL + "&comboB=" + value);
}

答案 2 :(得分:1)

在javascript中尝试以下代码

    function Refresh()
{
    var e = document.getElementById("comboA");
    var selectedOption = e.options[e.selectedIndex].value;

if(selectedOption == "0")
    {
    // your logic goes here
    }   
else if (selectedOption == "1")
    {
    // your logic goes here
    }
}

为其他组合框编写相同的功能。 我希望这些能帮助你! 如果您有任何疑问,请告诉我

答案 3 :(得分:1)

你可以这样做:

var url = "http://www.mypage.com?"

$("select[name=comboA]").on("change",function(){

window.location.href = url + $(this).attr("name") + "=" + $(this).val();


});

和第二次选择

var url2 = "http://www.mypage.com?comboA=1&"

$("select[name=comboB]").on("change",function(){

window.location.href = url2 + $(this).attr("name") + "=" + $(this).val();


});