0

我有一个表单,我有 2 组不同的表单域,这些表单域根据选择框的值使用。我遇到的问题是当我尝试禁用不相关的输入字段时,我的 disabled 属性出现为: disabled="" 而不是 disabled="disabled" 这是我正在使用的代码。这是一个相当复杂的表格,所以我将使用相关字段,这样我就可以尽量让大家尽可能简单。如果您认为缺少某些内容...如果您需要查看更多信息,请告诉我。

<cfform id="entry-form" ACTION="index-10.cfm?Company" name="send" class="uniForm">
        <div class="ctrlHolder"><label for="" style="display:none"><em>*</em>Builder or Individual</label>                        
                        <cfselect name="select1" id="select1">                
                            <option value="" <cfif Individual is "">selected="selected"</cfif>>Who is this Case for? (choose one)</option>                
                            <option value="0"<cfif Individual is 1>selected="selected"</cfif>>An Individual Home Owner</option>                
                            <option value="1"<cfif Individual is not 1 and Individual is not "">selected="selected"</cfif>>A Builder</option>              
                         </cfselect>
                     <p class="formHint">A selection is required</p>        
    </div>

    <!--- this is for individual home owner. --->        
                <div class="hide" id="hide1">  

                  <div class="ctrlHolder"><label for="" style="display:none"><em>*</em>First name</label>
                  <cfinput type="text"             
                              name="FirstName" 
                              id="FirstName" 
                              data-default-value="Enter your first name" 
                              size="35" 
                              class="textInput required validateAlpha"
                              maxlength="50"
                              value="#FirstName#">
                  <p class="formHint">First Name is required</p>
                  </div>
               </div>

               <div class="hide" id="hide2">

                 <div class="ctrlHolder"><label for="" style="display:none"><em>*</em>Builder Name</label>
                    <cfinput type="text" id="builder"
                                name="BuilderName"
                                data-default-value="Type a builder's name"
                                size="35" 
                                class="textInput required"
                                value=""  />
                      <p class="formHint">Builder's name is required</p>
                        <cfinput id="builder_hidden" name="BuilderID" type="hidden" value=""  />  
                        <cfinput id="builder_hidden_plan" name="PlanID" type="hidden" value="" />  
                    </div>  
               </div>
</cfform>

    <script>

     $(document).ready(function(){    
        $("#select1").change(function(){         
            if ($(this).val() == "1" ) {             
                $("#hide2").slideDown("fast"); //Slide Down Effect              
                $("#hide1").slideUp("fast");
                $("#FirstName").prop("disabled", true);
                        $("#builder").prop("disabled", false);
    } else if ($(this).val() == "0" ){             
                $("#hide1").slideDown("fast");    //Slide Down Effect             
                $("#hide2").slideUp("fast");
                        $("#FirstName").prop("disabled", false);
                        $("#builder").prop("disabled", true);    
            }   
        });
</script>

我在用:

  • jquery-1.9.1.js
  • jquery-ui-1.10.1.custom.js
  • 统一验证.jquery.js
4

2 回答 2

1

我发现了这个问题。正在添加 disabled 属性。正是必需的课程阻止了它的工作。我添加了 removeClass 和 addClass 方法来纠正这个问题。

于 2013-03-09T16:44:26.773 回答
0

请将 jQuery 'prop' 更改为 'attr' 并在其正常工作后检查以下脚本.....

<script type="text/javascript">
 $(document).ready(function(){    
    $("#select1").change(function(){         
        if ($(this).val() == "1" ){             
            $("#hide2").slideDown("fast"); //Slide Down Effect              
            $("#hide1").slideUp("fast");
            $("#firstname").attr("disabled", "disabled");
            $("#builder").attr("disabled", false);
        }
        else if ($(this).val() == "0" ){             
            $("#hide1").slideDown("fast");    //Slide Down Effect             
            $("#hide2").slideUp("fast");
            $("#firstname").attr("disabled", false);
            $("#builder").attr("disabled", "disabled");    
        }   
    });
});

于 2013-03-11T07:05:41.893 回答