在select中警告值的变化

时间:2013-04-08 21:54:09

标签: jquery html-select

我正在尝试在select的值更改为特定值时提醒用户,但我的页面中有多个select(每个用户一个)。

以下是我尝试的内容:http://jsfiddle.net/mEFQq/

$(document).ready(function() {
    $("select").change(function(){
        if($(this).text() == "Chef")
            {
                alert();
            }
        });
});

我希望当select选择更改为“Chef”时会发出警告。

我该怎么做?

3 个答案:

答案 0 :(得分:4)

或许这样的事情:http://jsfiddle.net/mEFQq/1/

使用选择时,您需要使用.val()函数,而不是.text()函数。

您还需要与value属性(本例中为1)进行比较,而不是实际文本值。

代码如下所示:

$(document).ready(function() {
    $("select").change(function(){
        if($(this).val() == "1")
            {
                alert('value 1 (wich refers to Chef) got selected');
            }
        });
});

答案 1 :(得分:0)

您的问题是,使用.text()方法会返回select元素上的所有文字,而不仅仅是“已选择”的文字,如果您尝试使用.val(),则选择元素的value属性(如果它们没有设置value,则可以使用.val())。

我建议您将if更改为:if($(this).children(':selected').text() == "Chef"),如下所示:

$("select").change(function(){
    if($(this).children(':selected').text() == "Chef")
        {
    alert();
        }
    });
});

演示:http://jsfiddle.net/darkajax/YCznv/

答案 2 :(得分:0)

FIDDLE

您可以这样做:

if($(this).find('option:selected').text() == "Chef")