当我从下拉菜单中选择默认选择选项时,我想阻止我的JQUERY change()函数触发。但是,如果选择了下拉菜单中的任何其他选项,我希望触发该功能。
在下面的示例中,Andorra是默认选择选项,因此我希望在从下拉列表中选择任何其他国家/地区时触发change()函数。
HTML
<select id="customer_country" name="customer_country"
class="validate[required] input_styling target"
style="background: #FFFFFF;">
<option value="">Please Select a Country</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Åland Islands">Åland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra" selected>Andorra</option>
...
</select>
JQUERY
$(document).ready(function(){
// show popup when selecting a country from the drop-down
$( ".target" ).change(function() {
var docHeight = $(document).height(); //grab the height of the page
var scrollTop = $(window).scrollTop(); //grab the px value from the top of the page to where you're scrolling
$('.overlay-bg').show().css({'height' : docHeight}); //display your popup and set height to the page height
$('.overlay-content').css({'top': scrollTop+20+'px'}); //set the content 20px from the window top
});
任何帮助都会很棒。
答案 0 :(得分:0)
将函数包装在if语句中,将默认值(“”)与所选值
进行比较 $( ".target" ).change(function() {
if($(this).val() != "") {
var docHeight = $(document).height();
var scrollTop = $(window).scrollTop();
$('.overlay-bg').show().css({'height' : docHeight});
$('.overlay-content').css({'top': scrollTop+20+'px'});
}
});
如果需要帮助澄清,可以使用JSFiddle(我简化了.change(),但你明白了。)