2014-01-15 76 views
0

这是迄今为止我所知道的。尝试在点击链接(/ w无线电)时将输入(和选择)设置为'必需'。下面是对的jsfiddle链接:http://jsfiddle.net/swdmedia/ZR3A7/1/在链接被点击时将目标div内的输入设置为'required'jquery

$(".persnl").click(function(){ 

    var myTab = $(this).find("a").attr("href"); 
    // alert(myTab); 

    $(this).find(':radio').prop('checked',true); 
    // alert('clicked'); 

    $(myTab).each(function() { 
    $('input[type=text]').prop("required", true); 
    }); 
    return false; 

}); 
+0

又有什么问题? –

+0

您是否希望这是基于何时单击单选按钮或链接? – j08691

+1

在你的小提琴中没有'''。如果你没有引用迭代元素,你为什么在'.each()'中这样做呢? – Barmar

回答

0

为了验证该选择值,给它一个value=""(其中显示“ - 请选择”)。并添加到选择class="required"

学分:Validate select box

此外,记得删除其他选项卡所需的属性,当你选中一个不同的单选按钮。

编辑:您的点击事件触发器,如果​​你点击按钮或链接,但当你点击按钮时,它不会保持点击。所以,你应该将选择器更改为$(".persnl>a")(但是,它看起来很奇怪,因为单击某个链接可能会改变单选按钮,所以你可能想改变它)。

+0

收音机是次要项目,并且不可见。我只需要发送一个'个性化'的值与表格取决于选择哪个标签。 – geepers

+0

除此之外,你的问题得到了回答? (将选中的设置为必填?) –

+0

不完全,不。 html部分很容易,但是当单击一个链接时,任何已经标记为必需的输入/选择都将被清除(删除'required'),并且点击链接的相应div将被标记为'需要“动态。 – geepers

0

这就是我最终想出来的。还有更多的事情发生,因为在任何给定的页面上,这些标签/ 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">&raquo; 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">&raquo; 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">&raquo; 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">&raquo; 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">&raquo; 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">&raquo; View Thread Colors</a></div> 
     </div> 
    </div><!--/.tabs-4--> 
</div><!--/#tabs-->