2011-11-22 27 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追加/削除 - 追加しますが、削除しません。

私はすべての要素が最初に必要な赤いアスタリスクに設定されているフォームを持っています。 (第1の機能)。

2番目の関数では、値が 'usa'と等しくないときにラベルから<span class="required"> *</span>を削除したいという選択フィールド(oh_CountryDrpDwn)があります。

しかし、まったくトリガーしていないようです。

洞察?

ありがとうございました。ここで

答えて

3

はあなたの問題を解決するかもしれません必要なクラス、とまたがる内容を変更した場合の削除は、セレクタないHTMLをとるFiddle

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

です。

+0

私も、残念ながらが動作していないということでした。私はまもなくフィドルを投稿します。 – Jason

+0

フィドルを見れば、あなたがしようとしていることの実例です。私がしていないことは何を持っていますか?あなたのスペルを確認し、すべてを正しく参照していることを確認してください。 –

+0

奇妙な競合のため、関数はトリガしていませんでした。準備ができたドキュメントを追加するだけでした。助けてくれてありがとう。 – Jason

0

編集:

私の最初に考えたのは関数はどこが最初に追加したのと同じ要素を見つけるように言われる必要があるということです。

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

しかし、私は専門家ではありませんので、これはあなたにとって良い答えであるという保証はありません!

+0

'.remove'はセレクタをとります。 –

+0

@Interstellar_Coderああ、あなたは大丈夫です。愚かな私! – Briz

+0

素晴らしいスタート! – Kato

1

Jose Vegaはまさに正しいですが、私は、特にこの場合、要素を再接続する必要がある場合には、アタッチ/デタッチの使用を検討するべきだということを付け加えています。基本的には、要素は「削除」されていますが、「破棄」されていないことを意味します。再生成することなく自由に再挿入できます。

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

削除の違いをよく読んで、ここで切り離し:http://www.bennadel.com/blog/1822-Learning-jQuery-1-4-Remove-vs-Detach-.htm

+0

あなたは追加/切り離しを意味しますか?私は 'attach'メソッドがあるのか​​どうかはわかりません。 – Kato

+0

また、これは素晴らしい点です:) – Kato

+0

はい、はい、append()。私のために脳のおなら。 :) – Nix

関連する問題