我有一个网页,我使用jQuery来访问select
元素的值。当元素具有“空”值(值= ""
)时,我想隐藏页面上其他位置的链接。不幸的是 - 我似乎无法让它发挥作用。
这是我目前的代码:
$(document).ready(function(e) {
if ($('#cancelNumber').select().val() == "") {
$('#ticketsLink').hide();
} else {
$('#ticketsLink').show();
}
});
每个div
代码都有一个唯一ID(已经检查过) - 我也尝试使用===
的{{1}}插件 - 但这也不起作用。我做错了什么?
答案 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()
。