【发布时间】:2017-08-06 14:03:20
【问题描述】:
我有一个下拉列表,其中包含 2 个值 - 姓名和性别
如果用户在下拉列表中选择名称,则会显示一个文本框(默认控件)以允许文本输入。 但是,如果用户在下拉列表中选择性别,则会显示一个下拉列表以允许用户从 2 个值中进行选择 - 男性和女性。
我想用 Knockout js 重写这个行为。任何帮助将不胜感激。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="switch">
<option value="option">Select Option...</option>
<option value="name">Name </option>
<option value="gender">Gender </option>
</select>
<span id="name-input" style="display:none"><input type="text" id="name"></span>
<span id="gender-dropdown" style="display:none">
<select id="gender">
<option>Male</option>
<option>Female</option>
</select></span>
$("#switch").change(function () {
switch($("#switch").val()) {
case "name":
$("#name-input").css("display", "inline")
$("#gender-dropdown").css("display", "none")
break
case "gender":
$("#name-input").css("display", "none")
$("#gender-dropdown").css("display", "inline")
break
default:
$("#gender-dropdown").css("display", "none")
$("#name-input").css("display", "none")
}
})
【问题讨论】:
标签: knockout.js