2012-04-24 5 views
1

私はフォーラムの皆さんから下のコードで助けを得ましたが、コードは完全に機能しますが、クライアントはカーボールを投げました。このjqueryコードで選択が見つかった場合、どのように実行を中止/中断するのですか?彼らは、いくつかのプロジェクトタイプ選択のために同じフィールドセットを表示したいと考えています。しかし、コードが実行し続けているので、同じ 'sect_id'が現れると、FSがオフになります。 のブレークを入力すると、一致する値が見つかると検索が停止します。このjqueryコードで選択が見つかった場合、どのように実行を停止/中断しますか?

$('fieldset#section-841', 'fieldset#section-837').hide(); 
    var DM_projtype = new Array(
     {value : 'Direct Mail', sect_id : 'fieldset#section-841'}, 
     {value : 'Multiples2-92', sect_id : 'fieldset#section-837'}, 
     {value : 'Multiples10+', sect_id : 'fieldset#section-837'} 
    ); 
    $('select#3596').on('change',function() { 
     var thisValue = $(this).val(); 
     var sect_id = ''; 
     $(DM_projtype).each(function() 
     { 
      $(this.sect_id).hide(); 
      if(this.value == thisValue) 
       $(this.sect_id).show(); 
     }); 

    }); 
) 
+0

ここで適切なインデントコードに注意してください。読んで理解するのがはるかに容易になります。 –

答えて

6

ちょうどreturn falseを追加してください。下記を参照してください。

+0

単にbreakを使用しないのはなぜですか? – MarioDS

+0

breakはjavascriptのループであり、$。eachはiteratesであっても関数です。 jQueryのドキュメントで示唆されているように、 '$ .each'から脱出するには' return false'を使用してください。 –

+0

私はすでにそう思っています。 – MarioDS