Javascript 从jQuery启用的按钮在回发后被禁用
我在我的asp页面中使用了一个asp按钮和一个telerik radcombobox,该按钮最初是从标记中禁用的。当用户从radcombobox中选择一个项目时,OnClient SelectedIndexChanged事件将触发,我将在那里启用该按钮。但一旦它被启用,我点击按钮,它在回发后再次被禁用Javascript 从jQuery启用的按钮在回发后被禁用,javascript,jquery,asp.net,.net,telerik,Javascript,Jquery,Asp.net,.net,Telerik,我在我的asp页面中使用了一个asp按钮和一个telerik radcombobox,该按钮最初是从标记中禁用的。当用户从radcombobox中选择一个项目时,OnClient SelectedIndexChanged事件将触发,我将在那里启用该按钮。但一旦它被启用,我点击按钮,它在回发后再次被禁用 <telerik:RadComboBox ID="rcbModel" runat="server" Skin="MetroTouch" Width="100%" EmptyM
<telerik:RadComboBox ID="rcbModel" runat="server" Skin="MetroTouch" Width="100%"
EmptyMessage="Select Model" Height="120px" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
<Items>
<telerik:RadComboBoxItem runat="server" Text="Model 1" />
<telerik:RadComboBoxItem runat="server" Text="Model 2" />
</Items>
</telerik:RadComboBox>
<asp:Button ID="btnAdd" runat="server" Text="Add" Enabled="false" />
脚本:
function OnClientSelectedIndexChanged() {
$('#<%=btnAdd.ClientID %>').prop("disabled", false);
}
回发后启用按钮的最佳方式是什么?保留javascrit代码并在回发时执行相同的工作,在代码隐藏中,检查racombobox的项目,如果其更改,则启用按钮
btnAdd.Enabled = true;
您可以尝试在添加按钮上放置更新面板。保持JavaScript和RadComboBox标记相同,并从按钮标记中删除Enabled=false代码。在页面的服务器端页面加载事件中,根据是否选择了值设置按钮的Enabled属性:
public void Page_Load(object sender, EventArgs e)
{
btnAdd.Enabled = (rcbModel.SelectedIndex > -1);
//...
}
当RadComboBox的空消息文本显示时,在您的选择型号中,SelectedIndex值将为-1。SelectedIndex有什么问题?服务器端的启用按钮@Satpal我需要从客户端获得它,因此我使用OnClient SelectedIndexChanged事件而不是服务器端SelectedIndexChanged事件。然后使用隐藏字段/本地存储来存储stateenabled/disabled of按钮。然后在页面加载上设置它的状态。这个函数定义在哪里?你能为你的问题找到解决方案吗?Downvoter:下次,现在告诉我我可以改进我的答案。另外,试着自己回答这个问题,试着对其他答案投票,也试着对这个问题投票。扎实的努力。