0

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

这是我当前的代码:

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

每个div标签都有一个唯一的 ID(已经检查过了)——我也尝试过使用===insetad of——==但这也不起作用。我究竟做错了什么?

4

3 回答 3

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();
    });

});
于 2012-06-29T15:56:05.497 回答
1

假设 cancelNumber 是 select 的 id。

您代码中的以下语句

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

将会

$('#cancelNumber').val()

您的代码将是

$(document).ready(function(e) {    
   if ($('#cancelNumber').val() == "") {    
       $('#ticketsLink').hide();    
   }else{
       $('#ticketsLink').show();
   }
});
于 2012-06-29T15:51:45.777 回答
1

你在滥用.select(). 你只是想要$('#cancelNumber').val()

于 2012-06-29T15:53:11.297 回答