2

アコーディオンには、State 1 と State 2 の 2 つのフィールドがあります。テキスト ボックスの境界線の色を変更したいと考えています。State 1 をクリックすると、一部のテキスト ボックスの境界が赤になり、他のテキスト ボックスはグレーになります。状態 2 をクリックすると、すべてのテキスト ボックスがグレーになり、そのうちの 1 つが赤になります (ボックスを選択して赤にするためのロジックは、当分残しておきます)。

これを実現するために、次のコードを作成しました。私が持っている唯一の問題は、コードの最初のオプション、つまりState 1をクリックするとコードが正常に動作し、2番目のオプションState 2をクリックするとコードが動作しない場合です(つまり、必要なテキストボックスはありません)赤と他のすべては灰色ではありません)

  $("div a").live('click', function() {
      if($(this).text()=="State 1"||selected_accord=="State 1")
      {
         $('input').css('border-color', 'gray');
      if(fromi==1)
      { 
        document.getElementById(input_from[0].id).style.borderColor = "red";
        }

    }

       if($(this).text()=="State 2"||selected_accord=="State 2")
      {
         $('input').css('border-color', 'gray');
        if(userkeyi==1)
        {
        document.getElementById(input_userkey[0].id).style.borderColor = "red";
         }
      }
});
4

1 に答える 1

0

このコードは正常に動作します。私が行った唯一の変更は、selected_accord を削除することでした。デフォルトではボックスを赤くすることができなかったので、この変数を使用しました。しかし、他の同意オプションの場合、この変数は定義されていません。これが、2 番目のオプションが機能しないという問題でした。

于 2012-07-30T10:21:19.920 に答える