2011-08-10 17 views
0

私は動的なラジオボタンにこのスクリプトを持っています...ロード時に、divsの表示、素晴らしい。 1つは自動的にチェックされ、素晴らしい。他のラジオボタンをクリックするとdivが非表示になります。メインラジオボタンをクリックしてdivを再度表示すると、divは再表示されません。divsをjavascriptで表示するにはどうすればよいですか?

divを再表示するにはどうすればいいですか?

function hide() { 
     var ele = document.getElementById("hideRow"); 
     var coup = document.getElementById("coup"); 
     if ("hideRow") { 
      ele.style.display = "none"; 
      coup.style.display = "none"; 
     } else { 
      ele.style.display = "block"; 
      coup.style.display = "block"; 
     } 
    } 
+0

あなたの 'if(" hideRow ")は常にtrueを返すので、' else'は決して実行されません。 'if'は文字列' 'hideRow ''が真であるかどうかをチェックします。それは常にそうです、従って 'else'は決して走りません。チェックの対象となるのはどういう意味ですか? – Abraham

+0

HTMLを表示します。何がチェックボックスになっているのか、何がクーデターであるのかについての言及はない。 – Satya

答えて

3

試してみてください。

function hide() { 
    var ele = document.getElementById("hideRow"); 
    var coup = document.getElementById("coup"); 
    if (ele.style.display == "block") { 
     ele.style.display = "none"; 
     coup.style.display = "none"; 
    } else { 
     ele.style.display = "block"; 
     coup.style.display = "block"; 
    } 
} 
+0

またはele.style.display == "block"は、残りのコードに応じて)ele.selected [これは正しい構文ではないと確信しています。これは疑似コードですeleが選択されたラジオボタンである場合]。 – Jonathon

+0

thx、私はこのような私のコードを微調整し、それは働いた... – user154107

0

これは常に真である:

if ("hideRow") { 
    // Always executes 
} 

ので、あなただけの今までのifブロックに着きます。 if文の条件を変更する必要があります。

-1
if (ele.style.visibility == 'visible';) { 
     ele.style.visibility = 'hidden'; 
     coup.style.visibility = 'hidden'; 
    } else { 
     ele.style.visibility = 'visible'; 
     coup.style.visibility = 'visible'; 
    } 
私は完全にマークを逃し、あなたがやろうとしているが、それは私がそれを行うだろう方法です(私が何を考えて理解していない可能性があり

- あなたがしようとすることができます何かをする)。

関連する問題