簡體   English   中英

根據所選選項轉到頁面

[英]Go to page based on selected options

我正在為我的網站建立檔案,但被卡住了。 我希望用戶選擇要轉到該文件夾​​中頁面的年,月和周。 我無法解決捕獲值並創建指導用戶的條件所需的JavaScript。 以及添加一個提交按鈕。 謝謝。

 <select id="year" name="year"> <option value="#">year?</option> <option value="2015">2015</option> </select> <select id="month" name="month"> <option value="#">month?</option> <option value="jan">jan</option> <option value="feb">feb</option> <option value="mar">mar</option> </select> <select id="week" name="week"> <option value="#">week?</option> <option value="wk1">1</option> <option value="wk2">2</option> <option value="wk3">3</option> <option value="wk4">4</option> </select> <input type="button" onclick="" value="Submit"> 

 var year = $('#year').val(); var month = $('#month').val(); var week = $('#week').val(); //some more code...where I get stuck if (year==2015 && month==jan && week==2) { window.location = "2015/jan/wk1/monday.html"; } else if (year==2015 && month==jan && week==2) { window.location = "2015 / jan / wk2 / monday.html"; } 

編寫代碼而不是成功警告消息。 這樣可以解決您的概率希望。

 var year = $('#year').val(); var month = $('#month').val(); var week = $('#week').val(); //some more code...where I get stuck function urFunctin(){ if(document.getElementById("week").selectedIndex!=0) { if(document.getElementById("year").selectedIndex==0) { alert("Select year"); document.getElementById("week").selectedIndex=0; } else if(document.getElementById("month").selectedIndex==0) { alert("Select month"); document.getElementById("week").selectedIndex=0; } else{ var year = $('#year').val(); var month = $('#month').val(); var week = $('#week').val(); if(year && month && week) alert(year + "/" + month + "/" + week + "/monday.html"); } } } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <select id="year" name="year"> <option value="#">year?</option> <option value="2015">2015</option> </select> <select id="month" name="month"> <option value="#">month?</option> <option value="jan">jan</option> <option value="feb">feb</option> <option value="mar">mar</option> </select> <select id="week" name="week"> <option value="#">week?</option> <option value="wk1">1</option> <option value="wk2">2</option> <option value="wk3">3</option> <option value="wk4">4</option> </select> <br/><br/> <input id="submit" type="button" onclick="urFunctin();" value="SUBMIT"> 

我認為如果所有選擇都具有一定價值,您想將用戶重定向到特定頁面。 因此,為所有這些元素設置一個通用類,並將空字符串設置為默認值:

<select id="year" name="year" class="toRedirect">
  <option value="">year?</option>
  <option value="2015">2015</option>
</select>

<select id="month" name="month" class="toRedirect">
  <option value="">month?</option>
  <option value="jan">jan</option>
  <option value="feb">feb</option>
  <option value="mar">mar</option>
</select>

<select id="week" name="week" class="toRedirect">
  <option value="">week?</option>
  <option value="wk1">1</option>
  <option value="wk2">2</option>
  <option value="wk3">3</option>
  <option value="wk4">4</option>
</select>

然后處理變更事件:

$(function() { // document ready wrapper, could be stripped out
  $('.toRedirect').on('change', function() {
    var year = $('#year').val();
    var month = $('#month').val();
    var week = $('#week').val();

    if(year && month && week)
       window.location = year + "/" + month + "/" + week + "/monday.html";
       // what about day, only monday???
  });
});

您對比較和邏輯語句有一些錯誤的想法,比較字符串時需要在引號中添加字符串。

var year = $('#year').val();
var month = $('#month').val();
var week = $('#week').val();

//some more code...where I get stuck

if (year != '#' && month != '#' && week  != '#') {
     window.location = year + '/' + month + '/' + week + '/monday.html';
}

這將是使用最少的JavaScript來處理它的方法。

if ($('#year').val() != '#' 
  && $('#month').val() != '#' 
  && $('#week').val() != '#') {
    window.location = $('#year').val() + '/' 
      + $('#month').val() + '/' 
      + $('#week').val() + '/monday.html';
}

雖然,變量使它更具可讀性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM