javascript点击最近的asp按钮

时间:2015-05-19 15:40:10

标签: javascript telerik closest

我有一个javascript,当在telerik RadAutoCompleteBox中按下回车键时将触发一个警告框。当按下enter时,我需要找到最近的asp.net(输入按钮)并单击此按钮。有什么建议吗?

<script>
    $(document).ready(function () {
        var handler = Telerik.Web.UI.RadAutoCompleteBox.prototype._onKeyDown;
        Telerik.Web.UI.RadAutoCompleteBox.prototype._onKeyDown = function (e) {
            handler.apply(this, [e]); // Let AutoCompleteBox finish it's internal logic
            if (e.keyCode == Sys.UI.Key.enter) {
                this._onBlur();

                alert('Enter has been pressed inside RadAutoCompleteBox');
            }
        }
    });

</script>

2 个答案:

答案 0 :(得分:0)

我不确定这是你在寻找什么,因为它需要jQuery,无论如何这里有2个选项。一个通过父元素,然后查看子元素,第二个如果它们通过兄弟姐妹处于同一级别。

$('#textbox').on('keyup', function() {
  $(this).parent().find('input[type="button"]').click();
});

$('#thebutton').on('click', function() {
  alert('the click happened');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
  <input type="text" id="textbox">
  <input type="button" id="thebutton" value="click me">
</div>

$('#textbox').on('keyup', function() {
  $(this).siblings('input[type="button"]').click();
});

$('#thebutton').on('click', function() {
  alert('the click happened');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="textbox">
<input type="button" id="thebutton" value="click me">

答案 1 :(得分:0)

您可以使用nearest()查找最近的“按钮类型”输入或按钮标记

if (e.keyCode == Sys.UI.Key.enter) {
    // Code
    var input = $(e.target).closest('input[type="button"],input[type="submit"],button');
    if (input.lenght > 0) {
        input.click();
    }
}

这将搜索元素本身,稍后将遍历DOM树中的祖先以查找第一个匹配并单击它