当文本输入文本框时,下拉菜单的值应该更改

时间:2014-11-05 16:17:43

标签: jquery html css

Jsfiddle link

您好, 我举一个例子。假设我们有两个状态,其中有两到三个城市,当我在文本框中键入一个城市名称时,应该自动选择状态,下拉列表。 我是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");
}

});

1 个答案:

答案 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