2014-10-02 56 views
2

我正在使用jquery-interdepencies庫和一個表單,我喜歡隱藏的文本框和/或沒有值的文本框,以便在提交時不發送/處理。要做到這一點,我有殘疾人設置爲true當文本字段被隱藏時,試圖將attr設置爲禁用?

$('#testform :input:hidden').attr('disabled', true); 

我猜jQuery的interdepencies LIB防止這一點,但我看不出我能解決這個問題。我認爲jQuery的interdepencies設置輸入字段顯示:無

BTW:如何重要的是它已經隱藏或空白文本框沒有被髮送到表單處理程序

jqyery lib link

+0

爲什麼使用''attr('disabled',true)''?相反,試試''attr('disabled','disabled')''或者'prop('disabled',true)''。 – heroin 2014-10-02 14:11:31

+0

@heroin嘗試了所有三個:( – alex 2014-10-02 14:19:11

回答

1

按照文檔的這個插件,你可以添加回調,當你顯示或隱藏元素。因此,像這樣將工作:

var cfg = { 
    hide: function(elem) { 
     elem.hide(); 
     elem.find('input').attr('disabled','disabled'); 
    }, 
    show: function(elem) { 
     elem.show(); 
     elem.find('input').attr('disabled',false); 
    } 
}; 

// Make the ruleset effective on the whole page 
ruleset.install(cfg); 

問題:當我測試了這一點,我發現了一個bug in the plugin which I have raised on github

因此,如果您願意,您可以從this fiddle複製/粘貼整個固定插件。它演示了元素在隱藏時如何被禁用。

+0

hmm,看起來很有希望。你能「學習」我如何配置這個嗎?簡單地添加你的代碼不起作用,我試圖將你的var cfg添加到我現有的規則集 'ruleset。安裝({log:true,show:cfg,hide:cfg});' – alex 2014-10-02 14:27:10

+1

已編輯和小提琴添加 – mccannf 2014-10-02 15:01:21

+0

WOW tx mccannf所有您的工作將全部測試 – alex 2014-10-02 15:12:38

相關問題