2015-02-23 87 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); 
});