如何在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>
答
有此一对夫妇的问题添加一些值。
- 首先,“#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();
});
的可能的复制[?如果选择一个选项,如何检查(http://*.com/questions/10213620/how-to-check -if-an-option-is-selected) – tanaydin
你不能只使用整数作为id。添加的东西给它像 1 2 ,然后用 #OPT1,#OPT2 – tanaydin
不是重复检查,以及回答可悲的是不是一个解决方案。没有出现任何结果。 –