如何在if语句中为Jquery选择ID

问题描述:

我想使用如图所示的表单选择器,并根据所选的选项,输出不同的输出。简单,但我没有得到它的工作。这是我的。如何在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://*.com/questions/10213620/how-to-check -if-an-option-is-selected) – tanaydin

+0

你不能只使用整数作为id。添加的东西给它像 1 2 ,然后用 #OPT1,#OPT2 – tanaydin

+0

不是重复检查,以及回答可悲的是不是一个解决方案。没有出现任何结果。 –

有此一对夫妇的问题添加一些值。

  • 首先,“#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

这是我迄今唯一能够工作的代码,谢谢你。 –

当文档准备就绪时,您的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(); 
});