我想知道如何根据特定的选择值在jQuery中触发事件。所以,例如我有一个小的选择和div这样:
<select id="sweets">
<option value ="Option1">Option 1</option>
<option value ="Option2">Option 2</option>
<option value ="Option3">Option 3</option>
</select>
<div id='showthis'>You have selected option 2</div>
我想做点什么;
如果用户选择选项2,
$('#showthis').show();
如果用户选择任何其他选项,
$('#showthis').hide();
我是jQuery的新手,我不知道如何根据特定的选择值进行更改事件。 任何帮助将不胜感激。
答案 0 :(得分:1)
$('#sweets').change(function(){
var show = $(this).val() == 'Option2';
$('#showthis').toggle(show);
});
答案 1 :(得分:1)
你试过这个吗?
$('#sweets').change(function() {
if($(this).attr('value') == 'Option1') {
// do something
} else if($(this).attr('value') == 'Option2') {
// do something else
} // etc..
}
答案 2 :(得分:0)
$('#sweets').change(function() {
if( this.selectedIndex === 1 ) {
$('#showthis').show();
} else {
$('#showthis').hide();
}
});
或更好:
$('#sweets').change(function() {
$('#showthis').toggle( this.selectedIndex === 1 );
});
selectedIndex
属性是引用所选选项的一种非常快捷的方式。
使用toggle()
(docs)方法,您可以将布尔值作为开关参数传递给true == show
和false == hide
。
或者按价值来做,你可以这样做:
$('#sweets').change(function() {
var val = this.options[ this.selectedIndex ].value;
$('#showthis').toggle( val === 'Option1' );
});