Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jQuery启用的按钮在回发后被禁用_Javascript_Jquery_Asp.net_.net_Telerik - Fatal编程技术网

Javascript 从jQuery启用的按钮在回发后被禁用

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

我在我的asp页面中使用了一个asp按钮和一个telerik radcombobox,该按钮最初是从标记中禁用的。当用户从radcombobox中选择一个项目时,OnClient SelectedIndexChanged事件将触发,我将在那里启用该按钮。但一旦它被启用,我点击按钮,它在回发后再次被禁用

    <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:下次,现在告诉我我可以改进我的答案。另外,试着自己回答这个问题,试着对其他答案投票,也试着对这个问题投票。扎实的努力。