这是小提琴:http: //jsfiddle.net/GvGoldmedal/FxEGP/
最好的办法是创建以下类标签:
.att、.verizon。、.tmobile、.consumer、.business、.sim
然后,您可以根据何时需要隐藏字段来标记字段。如果一个字段用于 verison,那么它将获得一个 verizon 类。如果一个字段是业务类型,那么它将获得业务类。还将“隐藏”类添加到任何不总是显示的字段。
Some Field:
<input type="text" class=" hide verizon att consumer" />
Another Field
<input type="text" class = " hide att business" />
确保标记每个字段。还要确保您的单选按钮和选择中的选项具有与类匹配的值。并为您的选择和单选按钮提供一类“选项”,如下所示:att verizon 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();
}
});
});
你有它。Anytime a new option is selected all the fields that aren't part of the form all the time will be hidden and the ones matching your carrier and sale type will then be shown. 它几乎会立即发生,用户将无法区分。如果需要,您可以进行一些褪色以使其看起来更平滑。此外,如果一个字段对于 verizon 和 att 都是可见的,那么只需将这两个类都添加到该输入中。如果您有任何问题,请告诉我。
我会尝试让 Fiddle 准确地展示如何做到这一点。