如果未选中复选框,则隐藏div

时间:2013-04-26 16:24:55

标签: jquery coldfusion

好的......我会尝试简化这个例子。我所拥有的是一个带有一些动态创建的复选框的表单。此表单将用于插入新记录以及编辑现有记录。我想要做的是有一个脚本来检查页面加载时的复选框。如果它们是零复选框,那么具有该按钮的div将被隐藏。用户选中复选框后,将显示该按钮。这是我的代码。

的jQuery

if ($(".uniForm input:checkbox:checked").length > 0) {
    $(".buttonHolder").show(); // any one is checked
} else {
    $(".buttonHolder").hide(); // none is checked
}

Coldfusion / HTML

<cfform ACTION="about:blank" name="formSend" class="uniForm">

   <cfset i = 1>

     <cfloop query="qRooms">

        <cfif variables.active is 1>

               <input type="checkbox" id="checkbox_#i#" name="app_#ApplianceTypeID#_chk" style="width:50px" checked>

        <cfelse>

                <input type="checkbox" id="checkbox_#i#" name="app_#ApplianceTypeID#_chk" style="width:50px">

        </cfif>

     </cfloop>

</cfform>

 <div class="buttonHolder" id="buttonfield">
       <button type="submit" class="secondaryAction" onClick="window.location='index-10.cfm'; return false;">Cancel and go back</button>
        <button type="submit" class="primaryAction">Submit</button>
 </div>

我认为我很接近......在.change事件上有点困惑。

2 个答案:

答案 0 :(得分:3)

请改为尝试:

if($('.uniform').find('input:checked').length > 0)

find()速度更快且:checkbox不是工作选择器(或者我不是这个选择器),我认为你的意思是input[type=checkbox]:checked,但在你的场景中,它不是需要,因为你没有单选按钮(唯一的其他输入可以是:checked)。

希望它有所帮助!

答案 1 :(得分:0)

.change()事件更多地用于获取sliderradio按钮或<select>标记的实际值,并且jQuery必须使用.class { {1}}按类选择元素,或#id按ID选择