2017-10-18 16 views
0

私はサードパーティのWebベースのプラットフォームでフォームベースのプロセスを構築しています。初期フォームは完成しており、ドロップダウンからオプションが選択されるまで隠されているフィールドがいくつかあります。このコードは以下のとおりです。もし正しく動作しない場合は、

//Hide fields until number of banners is selected 
$("#CWE_Pull1").hide(); 
$("#CWE_Pullup2").hide(); 
$("#CWE_Pullup3").hide(); 
$("#CWE_Pullup4").hide(); 


$("#CWE_PullUp").setOnchange(function(newVal, oldVal) { 
if (newVal == "1") { 
$("#CWE_Pull1").hide(); 
$("#CWE_Pullup2").hide(); 
$("#CWE_Pullup3").hide(); 
$("#CWE_Pullup4").hide(); 
} 
else if (newVal == "2") { 
$("#CWE_Pull1").show(); 
$("#CWE_Pullup2").hide(); 
$("#CWE_Pullup3").hide(); 
$("#CWE_Pullup4").hide(); 
} 
else if (newVal == "3") { 
$("#CWE_Pull1").show(); 
$("#CWE_Pullup2").show(); 
$("#CWE_Pullup3").hide(); 
$("#CWE_Pullup4").hide(); 
} 
else if (newVal == "4") { 
$("#CWE_Pull1").show(); 
$("#CWE_Pullup2").show(); 
$("#CWE_Pullup3").show(); 
$("#CWE_Pullup4").hide(); 
} else if (newVal == "5") { 
$("#CWE_Pull1").show(); 
$("#CWE_Pullup2").show(); 
$("#CWE_Pullup3").show(); 
$("#CWE_Pullup4").show(); 
} 
}); 

ステップ2では、フォームは、別のユーザーに行くと私は読むべきフィールドをマーク。ユーザーが親、編集、フォームビルダーのGUIを介してフィールドへのアクセスを表示または無効にするかどうかを選択できます。これは読み取り専用が選択される方法です。

読み取り専用コピーのデバッガでは、以下の図のように変数に値が表示されていることがわかります。

$("#CWE_Pull1").hide(); 
$("#CWE_Pullup2").hide(); 
$("#CWE_Pullup3").hide(); 
$("#CWE_Pullup4").hide(); 


if ("#CWE_PullUp" == "2") { 
    $("#CWE_Pull1").show(); 
    $("#CWE_Pullup2").hide(); 
    $("#CWE_Pullup3").hide(); 
    $("#CWE_Pullup4").hide(); 
    } 
    else if ("#CWE_PullUp" == "3") { 
    $("#CWE_Pull1").show(); 
    $("#CWE_Pullup2").show(); 
    $("#CWE_Pullup3").hide(); 
    $("#CWE_Pullup4").hide(); 
    } 
else if ("#CWE_PullUp" =="4") { 
    $("#CWE_Pull1").show(); 
    $("#CWE_Pullup2").show(); 
    $("#CWE_Pullup3").show(); 
    $("#CWE_Pullup4").hide(); 
    } 
else if ("#CWE_PullUp" == "5") { 
    $("#CWE_Pull1").show(); 
    $("#CWE_Pullup2").show(); 
    $("#CWE_Pullup3").show(); 
    $("#CWE_Pullup4").show(); 
    } 
; 

Variable Image

私は他の場合は、\ if文の前に隠された4つのフィールドを持っていけない場合は、フィールドがすべて再表示されています。私はまた、 'CWE_PullUp'の値をドロップダウンではなく、if \ else ifステートメントの基礎として使用する2番目の変数に出力しようとしましたが、それも動作しませんでした。

答えて

1

だから、これは解決策だった:

if ($("#CWE_PullUp").getValue() === "2") { 
    $("#CWE_Pull1").show(); 
} 
else if ($("#CWE_PullUp").getValue() === "3") { 
    $("#CWE_Pull1").show(); 
    $("#CWE_Pullup2").show(); 
} 
else if ($("#CWE_PullUp").getValue() === "4") { 
    $("#CWE_Pull1").show(); 
    $("#CWE_Pullup2").show(); 
    $("#CWE_Pullup3").show(); 
} 
else if ($("#CWE_PullUp").getValue() === "5") { 
    $("#CWE_Pull1").show(); 
    $("#CWE_Pullup2").show(); 
    $("#CWE_Pullup3").show(); 
    $("#CWE_Pullup4").show(); 
} 
2

"#CWE_PullUp" == "2"は、常にfalseです。

この値を読み取る場合は、$("#CWE_PullUp").val()を使用してください。したがって、比較は$("#CWE_PullUp").val() == "2"でなければなりません。私はあなたがあなたの条件にミスをしたと思います

+0

のでラインは次のようになります。 '場合$("# CWE_Pullup ")val()==" 2 "{' \t または 'if($("#CWE_Pullup ")。val()==" 2 "){' – Gunna

+0

'if'条件を'( 'と') 'で囲む必要があります。 – Nisarg

+0

フィールドが再表示されませんでした。 – Gunna

0

...

"#CWE_PullUp" == "2" 

このテストSTRING #CWE_PullUp2と等しい場合は!

私はあなたの代わりに変数の値を使いたいだろうと思う:

CWE_PullUp == "2" 
+0

ステートメントから ""と#を削除すると、開いていないフォームが表示されます。これは通常、JavaScriptの問題を示します – Gunna

+0

あなたが提供したスクリーンショットから、スコープ内で利用可能な変数があるかのように見えます...そうでなければあなたはそれを回避する必要があることを意味しますが、残念ながら私はあなたにもっと役立つ情報がありません。私はこのエラーを指摘することがあなたに役立つことを願っています。 – Salketer

関連する問題