选择了 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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 23:25:12  来源:igfitidea点击:

jQuery IF option selected

jqueryselect

提问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 changeevent:

您必须收听change事件:

$("#rReservation").change(function(){
    if ($("#rReservation").val() == "1") {
       $('.mRequired').addClass('required');
    } else {
       $('.mRequired').removeClass('required');
    }
});

http://jsfiddle.net/epkN8/

http://jsfiddle.net/epkN8/

回答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.

您必须确保已将代码包装在更改事件中,以便您可以监听正在发生的更改。

http://jsfiddle.net/C7Gg3/2/

http://jsfiddle.net/C7Gg3/2/

$('#rReservation').change(function(){ /* my code goes here */});