我正在尝试防止单个按钮列表在有错误但仍然张贴后发布。不知道我在做什么错!当选择更改时,我在下拉列表中检查选择,如果没有选择,我会显示错误("请从下拉列表中选择blah")并返回false。
。<asp:RadioButtonList runat="server"
ID="rblCoverType"
ClientIDMode="Static"
DataSourceID="odsSwapTypes"
RepeatDirection="Horizontal"
RepeatLayout="Flow"
AutoPostBack="true"
DataTextField="SwapType"
DataValueField="SwapTypeID"
OnSelectedIndexChanged="rblCoverType_SelectedIndexChanged">
</asp:RadioButtonList>
<span id="lblErrCoverType" class="field-validation-error pull-left" style="display: inline"></span>
$(document).on('change', '#rblCoverType', function () {
debugger
var isValid = true;
// Check the value in drop down list
var swapScheduleWeekStart = $("#ddlSwapSheduledWeeks option:selected").val().trim();
if (swapScheduleWeekStart == "") {
// Clear radio button list selection, display error
$("#rblCoverType").prop('checked',false);
$("#lblErrCoverType").val('Some error msg here');
$("#lblErrCoverType").show();
isValid = false;
}
return isValid;
});
我尝试使用" on Change"客户端事件作为广播按钮列表,但根本没有被击中。
您不能轻松地执行此操作。ASPNET生成以下HTML
<span id="rblCoverType">
<input id="rblCoverType_0" type="radio" name="ctl00$mainContentPane$rblCoverType" value="Value 1"
onclick="javascript:setTimeout('__doPostBack('ctl00$mainContentPane$rblCoverType$rblCoverType_0','')', 0)" />
请注意,单击事件设置为input
控件内联。因此,如果您真的想防止onclick
,则必须手动添加和删除它。我可能会更容易丢失OnSelectedIndexChanged
并做所有客户端。
<script>
$(document).ready(function () {
$("#rblCoverType input")[0].onclick = null;
$("#rblCoverType input").click(function () {
alert("Clicked");
});
});
</script>