检查HTML select元素是否具有选定值

时间:2012-06-29 15:49:42

标签: jquery html

我有一个网页,我使用jQuery来访问select元素的值。当元素具有“空”值(值= "")时,我想隐藏页面上其他位置的链接。不幸的是 - 我似乎无法让它发挥作用。

这是我目前的代码:

$(document).ready(function(e) {
    if ($('#cancelNumber').select().val() == "") {
        $('#ticketsLink').hide();
    } else {
        $('#ticketsLink').show();
    }
});

每个div代码都有一个唯一ID(已经检查过) - 我也尝试使用===的{​​{1}}插件 - 但这也不起作用。我做错了什么?

3 个答案:

答案 0 :(得分:2)

您对.select()的来电只会触发select元素上的#cancelNumber事件。我认为你所寻找的更类似于:

$(document).bind('ready', function () {
    var $cancelNumber = $('#cancelNumber');
    var $ticketsLink = $('#ticketsLink');

    var updateLink = function () {
        if ($cancelNumber.children(':selected').val() == '') {
            $ticketsLink.hide();
        } else {
            $ticketsLink.show();
        }
    };

    // Then assuming you want it to re-update every time the box is changed...
    $cancelNumber.bind('change', function () {
        updateLink();
    });

});

答案 1 :(得分:1)

假设cancelNumber是select的id。

您的代码中的以下声明

$('#cancelNumber').select().val()

$('#cancelNumber').val()

您的代码将

$(document).ready(function(e) {    
   if ($('#cancelNumber').val() == "") {    
       $('#ticketsLink').hide();    
   }else{
       $('#ticketsLink').show();
   }
});

答案 2 :(得分:1)

您滥用.select()。你只想要$('#cancelNumber').val()