2016-07-21 1 views
1

1つの大きなデータセットのアルファベット順のソートを表す27個のボタンのうちの1つのクリックに基づいてその値を入力するタグがあります。十分な要素がないのにこのコードがうまく応答しない場合、selectのサイズを変更したい。ロードするボタンを1つ以上クリックすると、サイズが1回変更されてからそのサイズに留まります。選択したHTMLの高さを再設定する

あなたはあなたの状態ではなく、

document.getElementById("DataCalls/Data/Indicator").options.length 

document.getElementById("DataCalls/Data/Indicator").length 

を使用する必要があります

function AfterAlphabetClick() { 
    if (document.getElementById("DataCalls/Data/Indicator").options.length > 1) { 
     document.getElementById("DataCalls/Data/Indicator").style.height = "400px;" 

    } else { 
     document.getElementById("DataCalls/Data/Indicator").style.height = "25px"; 
    } 
} 
+0

ロジックのIDを持っていますここでは、idが 'DataCalls/Data/Indicator'の要素のオプションの数に完全に基づいています。複数の要素がある場合は、400ピクセルにサイズ変更しようとします。オプションの長さが0または1の場合にのみ、他のブランチを呼び出します。 – ManoDestra

+1

@ManoDestra 400pxで0要素のメソッドを呼び出すと、問題の25pxに変更されません。 – IntegrateThis

+0

ああ、はい、もちろんです。 select要素の長さではなくoptions.lengthの使用に関するエラーが表示されます。うまく解決してくれてうれしいです:) – ManoDestra

答えて

3

あなたのHTMLを選択した場合は、 "DataCalls /データ/インジケータ"

+0

はオプションの配列ではありませんか? – IntegrateThis

+0

はい、そうです。選択部分の長さを使用するだけで、よりクリーンです。 – jsGrasshopper

+1

あなたのエラーは実際にstyle.height = "400px;"になっているようです。引用符の内側からセミコロンを取り出すと、コードが正しく動作するはずです。あなたが「25px」を持っているのと同様に、 – jsGrasshopper

関連する問題