您好, 我举一个例子。假设我们有两个状态,其中有两到三个城市,当我在文本框中键入一个城市名称时,应该自动选择状态,下拉列表。 我是jquery的新手。请帮助我。
<div>City<span class="red">*</span>
<input type="text" placeholder="City" id="city" name="city" required/>
</div>
<div>State<span class="red">*</span>
<select name="state" id="state">
<option id="st1" value="st1">State1</option>
<option id="st2" value="st2">State2</option>
<option id="st3" value="st3">State3</option>
<option id="st4" value="st4">State4</option>
</select>
</div>
$(document).ready(function () {
if ($("#city").val() == citya || $("city").val() == cityb || $("city").val() == cityc) {
alert("State1");
} else if ($("#city").val() == cityd || $("city").val() == citye || $("city").val() == cityf) {
$("#state").keyup("st2");
} else if ($("#city").val() == cityg || $("city").val() == cityh || $("city").val() == cityi) {
$("#state").keyup("st3");
} else if ($("#city").val() == cityj || $("city").val() == cityk || $("city").val() == cityl) {
$("#state").keyup("st4");
}
});
答案 0 :(得分:0)
你走了:
您需要在按键上检查#city
。因此,当我输入文本时,如果我输入citya
,则alert("State1");
将函数附加到元素时使用$(this)
来访问该元素。此外,===
比==
更好。在网上搜索javascript的运算符。
$('#city').keyup(function() {
if ($(this).val() === 'citya' || $(this).val() === 'cityb' || $(this).val() === 'cityc') {
alert("State1");
} else if ($(this).val() === 'cityd' || $(this).val() === 'citye' || $(this).val() === 'cityf') {
$("#state").val("st2");
} else if ($(this).val() === 'cityg' || $(this).val() === 'cityh' || $(this).val() === 'cityi') {
$("#state").val("st3");
} else if ($(this).val() === 'cityj' || $(this).val() === 'cityk' || $(this).val() === 'cityl') {
$("#state").val("st4");
}
});
这是一个有效的jsfiddle DEMO