根据选择传递输入所需的属性

时间:2013-10-16 19:53:13

标签: javascript php

您好我正在尝试根据上一个选择制作一个javascrip验证选项。

这是我的表单代码:

<li><label for="age1">Question One ?</label> 
<input type="radio" name="tienes_negocio" value="Yes" class="aboveage1" /> Si
<input type="radio" name="tienes_negocio" value="No" class="aboveage1" /> No</li></ol>

<ol id="parent1" class="formset2">
<li><label for="age2">Question Two ?</label> 
<input type="radio" name="labora_negocio" value="Yes" required="true"  class="aboveage2" /> Si
<input type="radio"  name="labora_negocio" value="No" required="true"  class="aboveage2" /> No</li>

基本上,如果你选择No frm第一个选择我想在selecond选择中传递所需的属性,

这是JavaScript代码:

  $(document).ready(function(){
    $("#parent1").css("display","none"); 

    $(".aboveage1").click(function(){
        if ($('input[name=tienes_negocio]:checked').val() == "No" ) {
            $("#parent1").slideDown("fast"); //Slide Down Effect 
            $('input[name="labora_negocio"]').prop('required', true); 

        } else {
            $("#parent1").slideUp("fast");
            $('input[name="labora_negocio"]').prop('required', false);  //Slide Up Effect
        }
     });            
});

这是我用于传递requred属性: $('#labora_negocio').attr('required');

的代码

问题在于,当你选择“否”时,它没有传递任何东西。

1 个答案:

答案 0 :(得分:1)

你有两个具有相同id的元素,在html中这是一个否定的。此外,在设置实时元素状态时,您应该设置元素属性而不是其(html)属性 您可以通过名称选择单选按钮,并通过prop。

设置其属性
<li><label for="age2">Question Two ?</label> 
<input type="radio" name="labora_negocio" value="Yes" id="labora_negocio1" class="aboveage2" /> Si
<input type="radio" name="labora_negocio" value="No" id="labora_negocio2" class="aboveage2" /> No</li>
$(".aboveage1").click(function(){
    if ($('input[name=tienes_negocio]:checked').val() == "No" ) {
        $('[name="labora_negocio"]').prop('required', true); 
        $("#parent1").slideDown("fast"); //Slide Down Effect 

    } else {
        $('[name="labora_negocio"]').prop('required', false); // not sure about this
        $("#parent1").slideUp("fast");  //Slide Up Effect
    }
 });