2016-09-18 28 views
-1

我想使用如圖所示的表單選擇器,並根據所選的選項,輸出不同的輸出。簡單,但我沒有得到它的工作。這是我的。如何在if語句中爲Jquery選擇ID

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
<script> 
$(document).ready(function(){ 

    if ("#1") { 
     $("#display").html("<table width="221"><tbody><tr class="su-even"><td width="64"><strong>Level</strong></td><td width="64"><strong>Damage</strong></td><td width="93"><strong>Crown Tower Damage</strong></td></tr><tr><td width="64">1</td><td width="64">80</td><td width="93">32</td></tr></tbody></table>"); 
    } 
    if ("#2") { 
     $("#display").html("<table width="221"><tbody><tr class="su-even"><td width="64"><strong>Level</strong></td><td width="64"><strong>Damage</strong></td><td width="93"><strong>Crown Tower Damage</strong></td></tr><tr><td width="64">2</td><td width="64">88</td><td width="93">36</td></tr></tbody></table>"); 
    } 

}); 
</script> 

</head> 

<body> 
<div> 
    <form id="option"> 
    <label for="level">Level at a glance:</label> 
    <select name="level" id="level"> 
    <option id="1">1</option> 
    <option id="2">2</option> 

    </select> 
</form> 
<div id="display"> 
</div> 
</div> 
</body> 
</html> 
+0

的可能的複製[?如果選擇一個選項,如何檢查(http://stackoverflow.com/questions/10213620/how-to-check -if-an-option-is-selected) – tanaydin

+0

你不能只使用整數作爲id。添加的東西給它像 <選項ID = 「OPT1」> 1 <選項ID = 「OPT2」> 2 ,然後用 #OPT1,#OPT2 – tanaydin

+0

不是重複檢查,以及回答可悲的是不是一個解決方案。沒有出現任何結果。 –

回答

1

有此一對夫婦的問題添加一些值。

  • 首先,「#1」和「#2」總是會==真,因爲它們是字符串。
  • 其次,更改文本的代碼僅在頁面加載時發生一次。菜單改變後沒有任何提示要更新。
  • 第三,根據$("#display").html....開頭的行,你應該有一個很長的字符串,但是你每次都用雙引號分解它。您需要在單引號和雙引號之間切換。如果我說,"class="potato">",它將"class="看作一個字符串,而將">"看作是另一個字符串,但它不知道如何處理potato。您需要使用單引號,如"class='potato'>"'class="potato">'

這是固定的代碼:

<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
<script> 
function changeText(){ 
    if ($("#level option:selected").text() == "1") { 
     $("#display").html("<table width='221'><tbody><tr class='su-even'><td width='64'><strong>Level</strong></td><td width='64'><strong>Damage</strong></td><td width='93'><strong>Crown Tower Damage</strong></td></tr><tr><td width='64'>1</td><td width='64'>80</td><td width='93'>32</td></tr></tbody></table>"); 
    } 
    if ($("#level option:selected").text() == "2") { 
     $("#display").html("<table width='221'><tbody><tr class='su-even'><td width='64'><strong>Level</strong></td><td width='64'><strong>Damage</strong></td><td width='93'><strong>Crown Tower Damage</strong></td></tr><tr><td width='64'>2</td><td width='64'>88</td><td width='93'>36</td></tr></tbody></table>"); 
    } 
} 
$(document).ready(function(){ 
    changeText(); 
}); 
</script> 

</head> 

<body> 
<div> 
    <form id="option"> 
    <label for="level">Level at a glance:</label> 
    <select name="level" id="level" onchange="changeText()"> 
    <option id="1" >1</option> 
    <option id="2">2</option> 

    </select> 
</form> 
<div id="display"> 
</div> 
</div> 
</body> 
+0

這是我迄今唯一能夠工作的代碼,謝謝你。 –

1

當文檔準備就緒時,您的JavaScript條件會執行一次。 當選擇值改變時,您必須添加一個事件!

option元素(<option value="1">1</option>

$(document).ready(function(){ 
    // Set event 
    $("#level").change(function(){ 
    if ($(this).val() === "1") { 
     $("#display").html(...); 
    } else { 
     $("#display").html(...); 
    } 
    } 
    // Call event when document loaded 
    $("#level").change(); 
});