これがフィドルです:http://jsfiddle.net/GvGoldmedal/FxEGP/
最善の策は、次のクラスタグを作成することです。
.att、.verizon。、.tmobile、.consumer、.business、.sim
次に、フィールドを非表示にする必要がある時期に基づいてフィールドにタグを付けることができます。フィールドがverisonに使用される場合、verizonクラスを取得します。フィールドがビジネスタイプの場合、ビジネスクラスを取得します。また、常に表示されていないフィールドに「hide」クラスを追加します。
Some Field:
<input type="text" class=" hide verizon att consumer" />
Another Field
<input type="text" class = " hide att business" />
必ずすべてのフィールドにラベルを付けてください。また、ラジオボタンと選択したオプションの値がクラスと一致していることを確認してください。そして、次のように、選択ボタンとラジオボタンに「オプション」のクラスを指定します。attverizon tmobile
<input type='radio' name='sale_type' class='option' value="business" />
<input type='radio' name='sale_type' class='option' value="consumer" />
<input type='radio' name='sale_type' class='option' value="consumer" />
.. 等々
Jqueryの場合:
//selectId is the ID of your select
// myform is the id of your form
$(".option").change(function()
{
// get the value of our select and option
carrier = $('#selectId option:selected').val();
sale_type = $('input[name=sale_type]:checked').val();
// Hide all fields that don't always show up.
$(".hide").hide();
//Show all fields that match our carrier and sale type
$(".hide").each(function(){
if($(this).hasClass(carrier) && $(this).hasClass(sale_type))
{
$(this).show();
}
});
});
そこにあります。新しいオプションを選択すると、常にフォームに含まれていないすべてのフィールドが非表示になり、携帯通信会社と販売タイプに一致するフィールドが表示されます。それはほとんどすぐに起こり、ユーザーは違いを見分けることができなくなります。必要に応じて、フェードを実行して、より滑らかに見えるようにすることができます。また、verizonとattの両方でフィールドが表示されている場合は、その入力に両方のクラスを追加するだけです。ご不明な点がございましたら、お気軽にお問い合わせください。
私はそれを行う方法を正確に示すフィドルを試してみます。