如何获取所选选项的值并在"如果"?

时间:2017-07-07 01:51:57

标签: javascript jquery html

我有这个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"),但后来出现了同样的问题,但这次占位符显示的始终是第二个。

1 个答案:

答案 0 :(得分:0)

&#13;
&#13;
//you should add an onChange event,like this:
$("#categories").change(function(e){
   var categories = e.target.value;
   if (categories == "category2") {
    ...
   } else {
    ...
   }
})
&#13;
&#13;
&#13;