更改事件以设置焦点按钮突然工作不是

时间:2014-01-29 14:54:38

标签: jquery asp.net

我有一些简单的jquery,当选择一个下拉框时,我将焦点设置为一个按钮。这工作正常,现在我注意到它不再有效了。

$("#MainContent_dialogSubProjectPMddlManager").on('change', function (evt, params) {
    $("#MainContent_btnSaveDialogSubProjectPM").focus();
     return false;
});

下拉ID为MainContent_dialogSubProjectPMddlManager,按钮ID为MainContent_btnSaveDialogSubProjectPM。我在控制台中验证了所有这些。事件设置控制台中的焦点工作正常。但是当我进行下拉选择时,按钮没有设置为焦点。

我要做的是将焦点设置在按钮上,这样用户就不必鼠标悬停就可以点击提交按钮。通过这种方式,他们可以简单地按下回车键...但是这不能按预期工作,我无法理解为什么。

以下是下拉列表的标记:

<asp:DropDownList data-placeholder="Select Sub Project..." class="chosen-select" ID="dialogSubProjectPMddlManager" ToolTip="Select Sub Project Manager..." runat="server"
></asp:DropDownList>

按钮的标记:

<asp:Button ID="btnSaveDialogSubProjectPM" runat="server" OnClick="btnSaveDialogSubProjectPM_Click" Text="Submit" ToolTip="Submit / Save changes?" />

我正在使用所选择的库,但这无关紧要,这里是渲染的html:

<select name="ctl00$MainContent$dialogSubProjectPMddlManager" id="MainContent_dialogSubProjectPMddlManager" title="Select Sub Project Manager..." data-placeholder="Select Sub Project..." class="chosen-select" style="display: none;">
        <option value=""></option>
        <option value="257">Test, Test</option>
        <option value="258">Test2, Test2</option>
    </select>

按钮:

<input type="submit" name="ctl00$MainContent$btnSaveDialogSubProjectPM" value="Submit" id="MainContent_btnSaveDialogSubProjectPM" title="Submit / Save changes?" class="ui-button ui-widget ui-state-default ui-corner-all" role="button" aria-disabled="false">

1 个答案:

答案 0 :(得分:0)

最糟糕的情况是,您可以尝试OnChange DropDownList客户端事件。

<asp:DropDownList data-placeholder="Select Sub Project..."
    class="chosen-select" ID="dialogSubProjectPMddlManager"
    ToolTip="Select Sub Project Manager..."
    runat="server"
    OnChange="dialogSubProjectPMddlManagerChange()">
    <asp:ListItem Text="One" Value="1" />
    <asp:ListItem Text="Two" Value="2" />
    <asp:ListItem Text="Three" Value="3" />
</asp:DropDownList>
<asp:Button ID="btnSaveDialogSubProjectPM"
    runat="server"
    OnClick="btnSaveDialogSubProjectPM_Click"
    Text="Submit"
    ToolTip="Submit / Save changes?" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">

    function dialogSubProjectPMddlManagerChange() {
        $('#<%= btnSaveDialogSubProjectPM.ClientID %>').focus();
    }
</script>