2016-08-16 8 views
1

前のフォームタグでユーザーの選択に基づいてselectタグに条件付きの値をロードしようとしました。 javaまたはphpが必要な場合があります。私はそれらの2つの言語のいずれかで有能ではない。 ロジックは以下のように説明されます。htmlタグを選択する条件付き値をロード

<form> 
    <input name="complaint" value="copyright" type="radio">copyright <br> 
    <input name="complaint" value="trademark" type="radio">trademark <br> 
    <input name="complaint" value="other_concern" type="radio"> other concerns 
</form> 


if complaint="copyright" then 
<select> 
    <option value="image">image</option> 
    <option value="product">product</option> 
</select> 
elseif complaint="trademark" then 
<select> 
    <option value="item">item</option> 
    <option value="image">image</option> 
</select> 
elseif complaint="other_concern" 
<select> 
    <option value="explain">explain</option> 
</select> 
end if 

どのような解決策ですか?

答えて

0

Heres a Jqueryのソリューションです。

<input name="complaint" value="copyright" type="radio" class="complaint"> 

が、私は使用したいCSSクラスと一緒に選択したオプションに固有のIDタグを追加入力にクラス名を追加し、デフォルト

によってSELCTオプションを隠し、.addClassと.removeClassはslightyより速く、よりです.hideよりefficent()と.SHOW()セレクタ

は、最後にあなたが他の隠された値

のための残りをコピーする必要があるいくつかのjQueryを追加するには、CSSシートの下部に

.hidden{position:absolute;width:0;height:0;overflow:hidden;visibility:0;padding:0;margin:0} 

<select id="copyright" class="selectOptions hidden"> 
    <option value="image">image</option> 
    <option value="product">product</option> 
</select> 

をCSSを追加します。

$('.complaint').click(function() { 
     $('.selectOptions').addClass('hidden'); 
     var checkComplaint = $(this).val(); 
     $('#' + checkComplaint).removeClass('hidden'); 
    }); 
+0

私の友人からもあなたのようなコードが送られてきます。私はそれを動作させるためにを追加する必要があります。他のサイトへの訪問が必要なので完璧ではありません。 –

+0

しかし、Jqueryはかなり軽量ですが、画像はあなたの主な関心事になるでしょう。 Jqueryをダウンロードしてサーバーにローカルにインストールすることができます。その後、非同期comandを使用してロードします。つまり、ページが読み込まれてからjavascriptが実行されるため、ユーザーエクスペリエンスはブロックされません。 Jquery3.jsスクリプトを必要なものに変更することができます。 ** ** – Paddy