jQuery MiniUI

 找回密码
 立即注册
查看: 4115|回复: 8
打印 上一主题 下一主题

autocomplete 控件监听回车事件 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2016-4-19 16:06:00 |只看该作者 |倒序浏览
<div id="applCode"
     name="applCode"
     textName="applName"
     required="true" requiredErrorText="不能为空"
     class="mini-autocomplete class4tooltip" valueFromSelect="true"
     data-placement="topleft" style="width:90%"
     valueField="customNo"
     textField="orgNameScn"
     url="">
    <div property="columns">
        <div header="" field="customNo" width="40"></div>
        <div header="" field="orgNameScn"></div>
    </div>
</div>正常使用autocomplete控件使用以下方法监听页面所有enter事件,在其它输入框都没有问题,autocomplete输入框无法自动将焦点切到下一个文本框$(document).ready(function () {
    $(':input:text:first').focus();
    $(':input:enabled').addClass('enterIndex');
    textboxes = $('.enterIndex');
    if ($.browser.mozilla) {
        $(textboxes).bind('keypress', CheckForEnter);
    } else {
        $(textboxes).bind('keydown', CheckForEnter);
    }
});
function CheckForEnter(event) {
    if (event.keyCode == 13 && $(this).attr('type') != 'button' && $(this).attr('type') != 'submit' && $(this).attr('type') != 'textarea' && $(this).attr('type') != 'reset') {
        var i = $('.enterIndex').index($(this));
        var n = $('.enterIndex').length;
        if (i < n - 1) {
            if ($(this).attr('type') != 'radio') {
                NextDOM($('.enterIndex'), i);
            }
            else {
                var last_radio = $('.enterIndex').index($('.enterIndex[type=radio][name=' + $(this).attr('name') + ']:last'));
                NextDOM($('.enterIndex'), last_radio);
            }
        }
        return false;
    }
}
function NextDOM(myjQueryObjects, counter) {
    if (myjQueryObjects.eq(counter + 1)[0.disabled) {
        NextDOM(myjQueryObjects, counter + 1);
    }
    else {
        myjQueryObjects.eq(counter + 1).trigger('focus');
    }
}

Rank: 8Rank: 8

沙发
发表于 2016-4-19 16:45:44 |只看该作者
autocomplete有onenter事件

Rank: 2

板凳
发表于 2016-4-19 17:03:52 |只看该作者
api里面没有啊,怎么用的啊?给个例子

Rank: 8Rank: 8

地板
发表于 2016-4-19 17:22:56 |只看该作者
overwrite 发表于 2016-4-19 17:03
api里面没有啊,怎么用的啊?给个例子

<input class="mini-autocomplete" onenter="alert(1)" ....

Rank: 2

5#
发表于 2016-4-19 17:43:19 |只看该作者
我使用了这个事件,结果还是一样,在调用了onenter里面的方法后,焦点还是回到autocomplete控件上

Rank: 2

6#
发表于 2016-4-20 08:52:40 |只看该作者
我在onter方法里面想将焦点定位到下一个文本框中,但是不能成功,麻烦看一下呢
<div id="trafMode"
     name="trafMode"
     textName="trafName"
     onenter="trafMode_next"
     class="mini-autocomplete" style="width:90%"
     textField="text"
     valueField="value"
     url="">
    <div property="columns">
        <div header="" field="value" width="30"></div>
        <div header="" field="text"></div>
    </div>
</div><input id="shipId" name="shipId" class="mini-textbox" style="width:60%"/>
function trafMode_next(){
    $('.shipId').focus();
}

Rank: 8Rank: 8

7#
发表于 2016-4-20 09:54:18 |只看该作者
overwrite 发表于 2016-4-20 08:52
我在onter方法里面想将焦点定位到下一个文本框中,但是不能成功,麻烦看一下呢

   

延时执行,本来回车之后我们还有默认的处理

Rank: 1

8#
发表于 2019-5-28 00:09:52 |只看该作者
我想输入文字之后,回车,页面渲染我选择的数据,同时执行一个函数,这个可以实现嘛

Rank: 8Rank: 8

9#
发表于 2019-5-28 09:02:57 |只看该作者
18473978769 发表于 2019-5-28 00:09
我想输入文字之后,回车,页面渲染我选择的数据,同时执行一个函数,这个可以实现嘛 ...

监听onvaluechanged事件处理。

Archiver|普加软件

GMT+8, 2024-11-28 04:50 , Processed in 1.021183 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部