我有一個asp webform
網站和一個頁面我有一個checkboxlist
有一個'其他'選項。當用戶選中此複選框時,會顯示另一個textbox
。所有這一切都工作正常,但我遇到的問題是,如果用戶取消選中複選框,它不會清除它。清除輸入字段時複選框未選中複選框列表
下面的代碼顯示了我有
$(function()
{
$("input[name='ctl00$MainContent$Step04OtherField']").click(function()
{
ToggleSection();
});
ToggleSection();
});
function ToggleSection()
{
if ($("#MainContent_Browsers_5").is(":checked"))
{
$("#Step04OtherFieldDiv").show();
document.getElementById("<%=reqStep04OtherFieldErrorMessage.ClientID%>").style.visibility = "visible";
document.getElementById("<%=reqStep04OtherFieldErrorMessage.ClientID%>").enabled = true;
}
else
{
$("#Step04OtherFieldDiv").hide();
$("#MainContent_Step04OtherField").val("");
document.getElementById("<%=reqStep04OtherFieldErrorMessage.ClientID%>").style.visibility = "hidden";
document.getElementById("<%=reqStep04OtherFieldErrorMessage.ClientID%>").enabled = false;
}
}
的HTML CheckBoxList的
<div class="row">
<div class="col-xs-offset-0 col-sm-offset-5 col-sm-2">
<asp:CheckBoxList runat="server" id="Browsers" CssClass="CheckboxList">
<asp:ListItem Text="All browsers" Value="All browsers"></asp:ListItem>
<asp:ListItem Text="Internet explorer (IE)" Value="Internet explorer (IE)"></asp:ListItem>
<asp:ListItem Text="Firefox (FF)" Value="Firefox (FF)"></asp:ListItem>
<asp:ListItem Text="Chrome" Value="Chrome"></asp:ListItem>
<asp:ListItem Text="Safari" Value="Safari"></asp:ListItem>
<asp:ListItem Text="Other" Value="Other"></asp:ListItem>
</asp:CheckBoxList>
</div>
</div>
<div class="row">
<div class="col-xs-offset-0 col-sm-offset-4 col-sm-8">
<asp:CustomValidator Display="Dynamic" runat="server" ID="custBrowserCheckboxselected" ForeColor="Red" ErrorMessage="Please select at least one browser for us to check the website on." ClientValidationFunction="BrowserCheckbox_ClientValidate" />
</div>
</div>
<div class="form-group" id="Step04OtherFieldDiv">
<asp:Label ID="Step04OtherFieldLabel" class="col-sm-4 control-label" runat="server" Text="Please specify *" AssociatedControlID="Step04OtherField"></asp:Label>
<div class="col-sm-4">
<asp:TextBox ID="Step04OtherField" runat="server" class="form-control" style="max-width: 100%" TextMode="MultiLine" Rows="5"></asp:TextBox>
</div>
<div class="col-sm-offset-4 col-sm-8">
<asp:RequiredFieldValidator Display="Dynamic" runat="server" ID="reqStep04OtherFieldErrorMessage" SetFocusOnError="true" ForeColor="Red" ControlToValidate="Step04OtherField" ErrorMessage="Please all browsers you would like the website checked on." />
</div>
</div>
但$("#MainContent_Step04OtherField").val("");
似乎並不奏效。
此外,如果有更好的方式來寫上述我起到這一點,因爲我認爲這是一個小混亂,但我coudln't得到它的工作任何其他方式,因爲它是一個checkboxlist
我可以添加個人身份證的每一個。
您可以發佈您的HTML標記固定的,所以我們可以看到#MainContent_Step04OtherField''是如何''定義,請。 – user1438038
我們需要看到HTML。基於腳本,我會說你應該確保綁定點擊複選框(而不是文本框)。此外,爲了「調試」jQuery選擇器,您可以添加alert($(「#MainContent_Step04OtherField」)。)或'alert($(「#MainContent_Step04OtherField」)[0] .outerHTML);' – Diego
@ user1438038 Full HTML添加標記 – murday1983