我有这个HTML:
<select id="categories">
<option value="category1">Category 1</option>
<option value="category2">Category 2</option>
</select>
<input type="search" id="search" placeholder="Search here" autofocus>
这个jquery:
var categories = $("#categories option:selected").val();
var search = $("#search");
if (categories = "category2") {
search.attr("placeholder", "Search for category 2");
} else {
search.attr("placeholder", "Search for category 1");
}
我尝试根据所选值放置不同的占位符,但无论选择什么,它始终显示第一个占位符。这可能看起来很愚蠢,但我希望能够选择所选选项的值来进行特定类别的搜索,有点像亚马逊网站。
我已经使用==
进行比较,但没有任何反应,占位符会在&#34;搜索此处&#34;。
PS:运行此代码后,使用Chrome上的控制台,如果我输入并执行categories
,它将始终显示在控制台category2
中,无论选择哪一个,但如果我键入并执行$("#categories option:selected").val();
,然后它将显示所选的值。我试图将它直接放在代码中的if
内,但返回了同样的问题。我还尝试将else
替换为if (categories = "category1")
,但后来出现了同样的问题,但这次占位符显示的始终是第二个。
答案 0 :(得分:0)
//you should add an onChange event,like this:
$("#categories").change(function(e){
var categories = e.target.value;
if (categories == "category2") {
...
} else {
...
}
})
&#13;