Имея выбор вариантов в 2 выпадающих списках меню? - PullRequest
0 голосов
/ 19 сентября 2009

Я хочу иметь 2 списка меню, и вы должны выбрать опцию из каждого списка, а затем нажать следующую кнопку, чтобы перейти на другую страницу.

Вот ссылка: http://home.comcast.net/~techjunkee/

Ответы [ 3 ]

2 голосов
/ 20 сентября 2009

Обратите внимание, что я изменил идентификаторы ваших элементов SELECT. Я сделал это, чтобы упростить поиск определенного элемента в JavaScript. Чтобы это работало, у каждого элемента должен быть свой собственный идентификатор.

<select id="jumpMenu1">
 <option value="0">Choose</option>
 <option value="">13</option> 
 <option value="">14</option> 
 <option value="">15</option> 
 <option value="">16</option> 
 <option value="">16.5</option> 
 <option value="">17</option> 
 <option value="">17.5</option> 
 <option value="">18</option> 
 <option value="">19.5</option> 
 <option value="">20</option> 
 <option value="">21</option> 
 <option value="">22</option> 
 <option value="225.html">22.5</option> 
 <option value="">24</option> 
 <option value="245.html">24.5</option> 
</select>

<select id="jumpMenu2">
 <option value="0">Choose</option>
 <option value="">11</option> 
 <option value="">12</option> 
 <option value="">13</option> 
 <option value="">16</option> 
 <option value="">16.5</option> 
 <option value="">17</option> 
 <option value="">17.5</option> 
 <option value="">18</option> 
 <option value="">19.5</option> 
 <option value="">20</option> 
 <option value="">21</option> 
 <option value="">22</option> 
 <option value="225.html">22.5</option> 
 <option value="">24</option> 
 <option value="245.html">24.5</option> 
</select>

<input type="button" value="Next" onclick="goToPage();" />

... и для JavaScript:

function goToPage()
{
  var jumpMenu1Value = document.getElementById("jumpMenu1").value;
  var jumpMenu2Value = document.getElementById("jumpMenu2").value;

  if(jumpMenu1Value !== 0 && jumpMenu2Value !== 0)
  {
    window.location = "someplace.html?jumpMenu1=" + 
                      jumpMenu1Value + "&jumpMenu2=" + 
                      jumpMenu2Value;
  }
}
0 голосов
/ 30 сентября 2009

У вас есть два варианта:

1) Вы перенаправляете на одну и ту же страницу каждый раз, но когда страница загрузится, вы должны проверить значения из строки запроса и отобразить содержимое, которое вы хотите, основываясь на этих значениях. Вот как вы получаете значения из строки запроса:

защищенный void Page_Load (отправитель объекта, EventArgs e)

{

 double jumpMenu1; 

 double jumpMenu2;

 try{jumpMenu1 = double.Parse(Request.QueryString["jumpMenu1"]);}catch {jumpMenu1 = 0;}

 try{jumpMenu2 = double.Parse(Request.QueryString["jumpMenu2"]);}catch {jumpMenu2 = 0;}

}

2) Вы перенаправляете на разные страницы из javascript, также на основе значений из этих двух выбранных значений.

функция goToPage ()

{

var jumpMenu1Value = document.getElementById ("jumpMenu1"). Value;

var jumpMenu2Value = document.getElementById ("jumpMenu2"). Value;

if (jumpMenu1Value! == 0 && jumpMenu2Value! == 0)

{

 switch (jumpMenu1Value)

 {

     case 13:

     {

        switch (jumpMenu1Value)

        {

           case 11:

           {

              // the page coresponding to the Rim Size "13" and Tire Size "11"

              window.location = "someplace13-11.html"; 

              break;

           }

           case 12:

           {

              // the page coresponding to the Rim Size "13" and Tire Size "12"

              window.location = "someplace13-12.html"; 

              break;

           }

           //...

           default:

           {

              // redirect to a default/error page or show an error message

           }

        }

     }

     case 14:

     {

        switch (jumpMenu1Value)

        {

           case 11:

           {

              // the page coresponding to the Rim Size "14" and Tire Size "11"

              window.location = "someplace14-11.html"; 

              break;

           }

           case 12:

           {

              // the page coresponding to the Rim Size "14" and Tire Size "12"

              window.location = "someplace14-12.html"; 

              break;

           }

           //...

           default:

           {

              // redirect to a default/error page or show an error message

           }

        }

     }


     //...   

     default:

     {

        // redirect to a default/error page or show an error message

     }

  }

}

else

{

   //show an error message, the user has to choose both options!

}

}

0 голосов
/ 20 сентября 2009

Сценарий, который вы предоставили, работает, но, думаю, я не могу понять, как настроить таргетинг на разные страницы вместо "someplace.html"

Значения меня смущают, как перевести этот URL (http://home.comcast.net/~techjunkee/index.html?jumpMenu1=1&jumpMenu2=5)

Извините, что был птичьим мозгом. Я пытаюсь научиться этому.

...