这就是我最终想出来的。还有更多的事情发生,因为在任何给定的页面上,这些标签/ div在多个单独的容器中有多组。解决方案是购买商店销售字母组合商品的Shopify帐户,因此需要依赖javascript来执行此操作。
$(".persnl").click(function(){
var myTab = $(this).find("a").attr("href");
// alert(myTab);
var parId = $(".persnl").closest("div").attr("id");
// alert(parId);
$(this).find(':radio').prop('checked',true);
// alert('clicked');
$('input[type=text]').val('');
$('option').prop("selected", false);
$('input[type=text], select').prop("required", false);
$(myTab).find('input[type=text], select').prop("required", true);
return false;
});
下面是HTML与它去:
<form action="">
<div>
<h3>Select your personalization type</h3>
</div>
<div id="tabs" class="ui-tabs">
<ul class="ui-tabs-nav clearfix">
<li class="persnl"><a href="#tabs-1" class="button">No Personalization</a><input type="radio" name="properties[Personalization]" class="hidden" value="No Personalization" checked /></li>
<li class="persnl"><a href="#tabs-2" class="button">Single Initial</a><input type="radio" name="properties[Personalization]" class="hidden" value="Single Initial"/></li>
<li class="persnl"><a href="#tabs-3" class="button">3 Initials</a><input type="radio" name="properties[Personalization]" class="hidden" value="3 Initials"/></li>
<li class="persnl"><a href="#tabs-4" class="button">Text</a><input type="radio" name="properties[Personalization]" class="hidden" value="Text"/></li>
</ul>
<hr/>
<div id="tabs-1" class="ui-tabs-panel">
<p>No personalization options.</p>
</div><!--/.tabs-1-->
<div id="tabs-2" class="ui-tabs-panel">
<h4>Single Initial Options</h4>
<div class="clearfix">
<label for="sFonts" class="label">Font:</label>
<select id="sFonts" name="properties[Single Font]" class="inline">
<option value="">--Please Select--</option>
<option value="Blackboard" selected>Blackboard</option>
<option value="Classic">Classic</option>
</select>
<div><a href="#pop-fonts" class="fancybox">» View Fonts</a></div>
</div>
<div class="clearfix">
<label for="single" class="label">Single Letter:</label> <input type="text" id="single" class="inline uppercase single" name="properties[Single]" maxlength="1" size="1" />
</div>
<div class="clearfix">
<label for="sThread" class="label">Thread Color:</label>
<select id="sThread" name="properties[Single Thread]" class="inline">
<option value="">--Please Select--</option>
<option value="Aqua Blue">Aqua Blue</option>
<option value="Black">Black</option>
<option value="Brown">Brown</option>
</select>
<div><a href="#pop-thread" class="fancybox">» View Thread Colors</a></div>
</div>
</div><!--/#tabs-2-->
<div id="tabs-3" class="ui-tabs-panel">
<h4>3 Initials Options</h4>
<div class="clearfix">
<label for="tFonts" class="label">Font:</label>
<select id="tFonts" name="properties[Initials Font]" class="inline">
<option value="">--Please Select--</option>
<option value="Blackboard">Blackboard</option>
<option value="Circle">Circle</option>
<option value="Classic">Classic</option>
</select>
<div><a href="#pop-fonts" class="fancybox">» View Fonts</a></div>
</div>
<div class="clearfix">
<label for="monogram1" class="label">First Name Initial:</label> <input type="text" class="inline uppercase single" id="monogram1" name="properties[Initials1]" maxlength="1" size="1" /><br/>
<label for="monogram2" class="label">Midle Name Initial:</label> <input type="text" class="inline uppercase single" id="monogram2" name="properties[Initials2]" maxlength="1" size="1" /><br/>
<label for="monogram3" class="label">Last Name Initial:</label> <input type="text" class="inline uppercase single" id="monogram3" name="properties[Initials3]" maxlength="1" size="1" />
</div>
<div class="clearfix">
<label for="monoFormat" class="label">Monogram Format:</label>
<select id="monoFormat" name="properties[Monogram Format]" class="inline">
<option value="">--Please Select--</option>
<option value="Female">Female (First, Last, Middle) Order</option>
<option value="Male">Male (First, Middle, Last) Order</option>
</select>
</div>
<div class="clearfix">
<label for="monoThread" class="label">Thread Color:</label>
<select id="monoThread" name="properties[Initials Thread]" class="inline">
<option value="">--Please Select--</option>
<option value="Aqua Blue">Aqua Blue</option>
<option value="Black">Black</option>
<option value="Brown">Brown</option>
</select>
<div><a href="#pop-thread" class="fancybox">» View Thread Colors</a></div>
</div>
</div><!--/.tabs-3-->
<div id="tabs-4" class="ui-tabs-panel">
<h4>Text Options</h4>
<div class="clearfix">
<label for="textFonts" class="label">Font:</label>
<select id="textFonts" name="properties[Text Font]" class="inline">
<option value="">--Please Select--</option>
<option value="Blackboard">Blackboard</option>
<option value="Classic">Classic</option>
<option value="Cottilion">Cottilion</option>
</select>
<div><a href="#pop-fonts" class="fancybox">» View Fonts</a></div>
</div>
<div class="clearfix">
<label for="word" class="label">Text:</label> <input type="text" id="word" name="properties[Word]" maxlength="18" size="18" class="inline" /> <em>(18 character limit)</em>
</div>
<div class="clearfix">
<label for="textThread" class="label">Thread Color:</label>
<select id="textThread" name="properties[Text Thread]" class="inline">
<option value="">--Please Select--</option>
<option value="Aqua Blue">Aqua Blue</option>
<option value="Black">Black</option>
<option value="Brown">Brown</option>
<option value="Yellow">Yellow</option>
</select>
<div><a href="#pop-thread" class="fancybox">» View Thread Colors</a></div>
</div>
</div><!--/.tabs-4-->
</div><!--/#tabs-->
又有什么问题? –
您是否希望这是基于何时单击单选按钮或链接? – j08691
在你的小提琴中没有'''。如果你没有引用迭代元素,你为什么在'.each()'中这样做呢? – Barmar