选择了 jQuery IF 选项
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7112393/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
jQuery IF option selected
提问by iKaspars
I am trying to check with jQuery if the select option with value = 1 is selected then add class to some elements. But something don't work. Can please some one look at the code?
我正在尝试使用 jQuery 检查是否选择了 value = 1 的选择选项,然后将类添加到某些元素。但有些东西不起作用。可以请一些人看一下代码吗?
My code :
我的代码:
Reservation <br/>
<select id="rReservation" name="rReservation" class="">
<option value="0">Maybe</option>
<option value="1">Sure</option>
</select>
<hr/>
Name <br/>
<input type="text" name="rCardUser" class="mRequired" />
<hr/>
Card<br/>
<input type="text" name="rCardNrr" class="mRequired" />
jQuery
jQuery
if ($("#rReservation").val() == "1") {
$('.mRequired').addClass('required');
} else {
$('.mRequired').removeClass('required');
}
LIVE example at fiddle - http://jsfiddle.net/C7Gg3/
小提琴现场示例 - http://jsfiddle.net/C7Gg3/
回答by AlienWebguy
You need it inside an event handler:
您需要在事件处理程序中使用它:
$('#rReservation').change(function(){
$('.mRequired').toggleClass('required', $(this).val() == '1');
});
http://jsfiddle.net/AlienWebguy/C7Gg3/1/
http://jsfiddle.net/AlienWebguy/C7Gg3/1/
If you want it to trigger simply on load, you need to add selected="selected"
to one of the options, because until one is "selected", $('#rReservation").val()
will be null
. Example: http://jsfiddle.net/AlienWebguy/C7Gg3/3/
如果您希望它仅在加载时触发,则需要添加selected="selected"
选项之一,因为在“选择”一个选项之前,$('#rReservation").val()
将是null
. 示例:http: //jsfiddle.net/AlienWebguy/C7Gg3/3/
回答by Joseph Silber
You have to listen to the change
event:
您必须收听change
事件:
$("#rReservation").change(function(){
if ($("#rReservation").val() == "1") {
$('.mRequired').addClass('required');
} else {
$('.mRequired').removeClass('required');
}
});
回答by Matt Ball
Maybe you want to add/remove the class every time the <select>
value changes:
也许您想在每次<select>
值更改时添加/删除类:
$(function ()
{
$("#rReservation").change()
{
$('.mRequired').toggleClass('required', $(this).val() == "1");
}
});
回答by Jamie Dixon
You have to make sure you've wrapped your code in a change event so that you're listening for the change happening.
您必须确保已将代码包装在更改事件中,以便您可以监听正在发生的更改。
$('#rReservation').change(function(){ /* my code goes here */});