问题是jQuery('#form-row-rapper-price_bin').hide()
不会运行,除非我从" form_auction_type"中选择另一个值。并回到了旧的价值。
我需要脚本在页面加载时运行,也需要更改下拉框的值" form_auction_type"
jQuery('#form_auction_type').change(function(e) {
if(jQuery('#form_auction_type').val() == '2'){
jQuery('#form-row-rapper-price_bin').show();
jQuery('#form-row-rapper-price_current').hide();
jQuery('#form-row-rapper-price_reserve').hide();
} else {
jQuery('#form-row-rapper-price_bin').hide();
jQuery('#form-row-rapper-price_reserve').show();
jQuery('#form-row-rapper-price_current').show();
}
});
从
更改这条线更容易jQuery('#form_auction_type').change(function(e) {
到
jQuery('#form_auction_type').ready(function(e) {
解决了我的问题,但下拉菜单已不再有效了!
答案 0 :(得分:2)
只需使用.trigger('change')
触发页面加载更改。这将导致anon函数运行。
jQuery('#form_auction_type').change(function(e) {
if (jQuery('#form_auction_type').val() == '2') {
jQuery('#form-row-rapper-price_bin').show();
jQuery('#form-row-rapper-price_current').hide();
jQuery('#form-row-rapper-price_reserve').hide();
} else {
jQuery('#form-row-rapper-price_bin').hide();
jQuery('#form-row-rapper-price_reserve').show();
jQuery('#form-row-rapper-price_current').show();
}
}).trigger('change');
答案 1 :(得分:0)
只需编写一个函数并从两个地方调用它。您甚至可以将其隐藏在ready
回调中,因此它不是全局的(如果您还没有使用范围函数):
jQuery(function() {
function updateDisplay() {
if(jQuery('#form_auction_type').val() == '2'){
jQuery('#form-row-rapper-price_bin').show();
jQuery('#form-row-rapper-price_current').hide();
jQuery('#form-row-rapper-price_reserve').hide();
} else {
jQuery('#form-row-rapper-price_bin').hide();
jQuery('#form-row-rapper-price_reserve').show();
jQuery('#form-row-rapper-price_current').show();
}
}
updateDisplay();
jQuery('#form_auction_type').change(updateDisplay);
});