2012-04-20 53 views
0

我有一個動態生成的頁面上的形式的數量只讀設置所有的領域以及一個CSS類。每個表單都有它自己的編輯按鈕在一個定位標記中,當點擊時,我想使用removeClass()和attr('readonly',false)來顯示與該編輯按鈕有關的表單。然而,如果我提供了一個類的點擊處理函數的功能,這顯然揭示了頁面上的每個表單都不是所需的結果。多種形式只讀和多個

我不需要任何代碼,因爲我想自己努力尋求解決方案,但如果任何人知道任何文章或特別的東西,我應該看看/使用請燒掉!

謝謝

+0

您是如何獲得您在Click處理程序中調用'removeClass()'的窗體的引用?你是否使用某種對'$(this).parent()'的引用來獲取表單? – mellamokb 2012-04-20 13:45:05

回答

0

已解決! $('。prefRoute')。delegate('。editPrefRoute','click',function(){if($(this).parent()。siblings('table')。hasClass('selected')){//DO STUFF HERE $(this).parent()。siblings('table')。removeClass('selected');} else {$(this).parent()。siblings('table')。attr('class ','selected'); // DO STUFF HERE}});

0

爲了引用具體的形式,你需要有一個唯一的標識符。

你可以用幾種方法做到這一點。最直接的方法是在每個表單上都有一個id,每個點擊處理程序都可以找到特定的id。

但是,假設按鈕位於各自表單的內部,則可以實現更一般化的解決方案。

<form> 
    <!-- your form elements --> 
    <button class="edit_button">Edit this form</button> 
</form> 
<form> 
    <!-- your form elements --> 
    <button class="edit_button">Edit this form</button> 
</form> 
<form> 
    <!-- your form elements --> 
    <button class="edit_button">Edit this form</button> 
</form> 
<form> 
    <!-- your form elements --> 
    <button class="edit_button">Edit this form</button> 
</form> 
. 
. 
. 

等等。

然後,在您的點擊處理程序中,您可以查找作爲表單的點擊(按鈕)目標的第一個父級,並相應地執行相應操作。

http://api.jquery.com/parent/

+0

解決! ('。this).parent()。siblings('table')。hasClass('selected')。() )){ // DO的東西在這裏 $(本).parent()的兄弟姐妹( '表')removeClass( '選擇');。。 }否則{ $(本).parent()。 ('table')。attr('class','selected'); //在此處做的東西 } }); – user1293351 2012-04-20 16:23:12