2015-02-23 84 views
-2

问题是jQuery('#form-row-rapper-price_bin').hide()不运行,除非我从“form_auction_type”中选择另一个值并返回到较旧的值。jQuery准备好并更改

我需要的脚本上改变下拉框“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) { 

修复我的问题,但下拉菜单不工作了!

+1

请提供相关的HTML。没有足够的信息来回答这个问题。 – Popnoodles 2015-02-23 18:46:57

回答

2

只需用.trigger('change')触发页面加载更改。这将导致匿名函数运行。

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'); 
+0

如果“form_auction_type”= 1,这是页面加载时的默认值,我想隐藏“form-row-rapper-price_bin”。对不起,你的方法不起作用 – 2015-02-23 18:44:29

+1

然后你还没有提供足够的信息。请提供您的HTML。 – Popnoodles 2015-02-23 18:45:27

+0

为什么你需要更多的HTML?我的问题是与上面的脚本,就像我所说的切换下拉菜单修复了这个问题,我怎么能在页面加载脚本运行? – 2015-02-23 18:56:40

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