2011-11-22 75 views
0
function addFormReqFields() { // Add * for required fields 
     $('form label').each(function(index) { 
      if ($(this).hasClass('required')) { 
       $(this).append('<span class="required"> *</span>'); 
      } 
     }); 
    } 

    $('#oh_CountryDrpDwn').change(function(){ 
     var CountryDrpDwn = $('#oh_CountryDrpDwn').val(); 
     if (CountryDrpDwn != 'usa') 
     { 
      $('#oh_ZipLbl').remove('<span class="required"> *</span>'); 
     } 
     }); 

我似乎無法得到這個工作。jQuery追加/刪除 - 附加,但不刪除

我有一個窗體,其中所有的元素最初都設置爲紅色星號所需。 (第一個功能)。

在第二個函數中,我有一個選擇字段(oh_CountryDrpDwn),當值不等於'usa'時,我想從標籤中刪除<span class="required"> *</span>

但它似乎並沒有觸發。

任何見解?

謝謝。

回答

3

這裏是Fiddle

$('#oh_ZipLbl').find('span.required').remove(); 

刪除需要選擇不是HTML,如果你改變了內容與所需的類跨越,這可能解決您的問題。

+0

我有過,可惜不工作。我會很快發佈小提琴。 – Jason

+0

如果你看小提琴,它是你正在嘗試做的一個工作例子。你有什麼我不知道的?檢查你的拼寫,確保你正確地引用了一切。 –

+0

由於存在奇怪的衝突,該功能未觸發 - 只需添加文檔即可。謝謝您的幫助。 – Jason

0

編輯:

我最初的想法是,功能需要被告知在哪裏可以找到你最初附加至相同的元素。

$(this).find('span.required').remove(); 

但是,我不是專家,所以不能保證這是一個很好的答案!

+0

'.remove'帶有一個選擇器。 –

+0

@Interstellar_Coder哦,是的,你說得很對。傻我! – Briz

+0

不錯的開始! – Kato

1

Jose Vega是完全正確的,但我可能會補充說,您應該考慮使用attach/detach,尤其是在這種情況下,您可能需要重新附加元素。它基本上意味着元素被「移除」,但不是「被破壞」,因此您可以隨意重新插入元素,而不必重新生成元素。

$(".required").detach(); 

閱讀上刪除之間的差異和分離的位置:http://www.bennadel.com/blog/1822-Learning-jQuery-1-4-Remove-vs-Detach-.htm

+0

你的意思是append/detach?我不確定是否有「附加」方法。 – Kato

+0

另外,這是一個很好的觀點:) – Kato

+0

是的,是的,append()。腦子放屁我的名義。 :) – Nix