Javascript 如何使用Jquery自动按enter键

Javascript 如何使用Jquery自动按enter键,javascript,jquery,datatables,Javascript,Jquery,Datatables,如何使用Jquery在不按enter键的情况下按enter键。 我有一个下拉列表。从下拉列表中选择任意值后,列表的值将复制到输入框(搜索框)中。然后,我想使用jquery自动调用enterkey事件。 请参考以下代码 $(document).ready(function(){ var data = [ { "name": "T

如何使用Jquery在不按enter键的情况下按enter键。 我有一个下拉列表。从下拉列表中选择任意值后,列表的值将复制到输入框(搜索框)中。然后,我想使用jquery自动调用enterkey事件。 请参考以下代码

$(document).ready(function(){
                    var data = [
                            {
                                "name":       "Tiger Nixon",
                                "position":   "System Architect",
                                "salary":     "$3,120",
                                "start_date": "2011/04/25",
                                "office":     "Edinburgh",
                                "extn":       "5421"
                            },
                            {
                                "name":       "Black Winters",
                                "position":   "Project Engineer",
                                "salary":     "$1,300",
                                "start_date": "2018/27/05",
                                "office":     "Edinburgh",
                                "extn":       "8412"
                            },
                            {
                                "name":       "Black Winters",
                                "position":   "Project Engineer",
                                "salary":     "$1,300",
                                "start_date": "2018/27/05",
                                "office":     "Edinburgh",
                                "extn":       "8412"
                            },
                            {
                                "name":       "Orange John",
                                "position":   "Network Admin",
                                "salary":     "$3,000",
                                "start_date": "2010/10/12",
                                "office":     "Edinburgh",
                                "extn":       "8425"
                            },
                            {
                                "name":       "Tiger Nixon",
                                "position":   "System Architect",
                                "salary":     "$3,120",
                                "start_date": "2011/04/25",
                                "office":     "Edinburgh",
                                "extn":       "5421"
                            }
                                ];
                    $("#table1").DataTable({
                        data: data,
                                columns: [
                                    { data: 'name' },
                                    { data: 'position' },
                                    { data: 'salary' },
                                    { data: 'start_date' },
                                    { data: 'office' },
                                    { data: 'extn' }
                                ]
                    });

                    /* color of data table */
                    var seen = {};
                    $('#table1 tr').each(function() {
                    var txt = $(this).text();
                    if (seen[txt])
                        $(this).css("background-color", "red");
                    else
                        seen[txt] = true;
                    });
                    var positionSet = new Set();
                    positionSet.add("System Architect");
                    positionSet.add("Project Engineer");
                    positionSet.add("Network Admin");

                    for(let myPositionSet of positionSet){
                        console.log(myPositionSet);
                        $('#empPosition').append($('<option>', { 
                            value: myPositionSet,
                            text : myPositionSet 
                        }));
                    }
                    $("#empPosition").change(function() {
                        $("#table1_filter input").val(this.value);
                        e = jQuery.Event("change")
                        e.which = 13 //choose the one you want
                            $("#table1_filter input").change(function(){
                             alert('keypress triggered')
                            }).trigger(e)
                    })

                });
$(文档).ready(函数(){
风险值数据=[
{
“名字”:“老虎尼克松”,
“职位”:“系统架构师”,
“工资”:“$3120”,
“开始日期”:“2011/04/25”,
“办公室”:“爱丁堡”,
“extn”:“5421”
},
{
“名称”:“黑色冬天”,
“职位”:“项目工程师”,
“工资”:“$1300”,
“开工日期”:“2018/27/05”,
“办公室”:“爱丁堡”,
“extn”:“8412”
},
{
“名称”:“黑色冬天”,
“职位”:“项目工程师”,
“工资”:“$1300”,
“开工日期”:“2018/27/05”,
“办公室”:“爱丁堡”,
“extn”:“8412”
},
{
“姓名”:“橙色约翰”,
“职位”:“网络管理员”,
“工资”:“$3000”,
“开始日期”:“2010/10/12”,
“办公室”:“爱丁堡”,
“extn”:“8425”
},
{
“名字”:“老虎尼克松”,
“职位”:“系统架构师”,
“工资”:“$3120”,
“开始日期”:“2011/04/25”,
“办公室”:“爱丁堡”,
“extn”:“5421”
}
];
$(“#表1”)。数据表({
数据:数据,
栏目:[
{data:'name'},
{数据:'位置'},
{数据:'工资'},
{数据:'开始日期'},
{数据:'办公室'},
{数据:'extn'}
]
});
/*数据表的颜色*/
var-seen={};
$(#表1 tr')。每个(函数(){
var txt=$(this.text();
如果(见[txt])
$(this.css(“背景色”、“红色”);
其他的
seed[txt]=真;
});
var positionSet=新集合();
位置集。添加(“系统架构师”);
位置设置。添加(“项目工程师”);
添加(“网络管理员”);
for(让我的位置集成为位置集){
console.log(myPositionSet);
$('#empPosition')。追加($('',{
值:myPositionSet,
文本:myPositionSet
}));
}
$(“#empPosition”).change(函数(){
$(“#表1_过滤器输入”).val(此.value);
e=jQuery.Event(“变更”)
e、 which=13//选择一个你想要的
$(“#表1_过滤器输入”)。更改(函数(){
警报(“按键触发”)
}).触发器(e)
})
});
下面是上述代码的HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.js"></script>
 <select id="empPosition">
                </select>
            <table id="table1" class="display">
                    <thead>
                        <tr>
                            <th>name</th>
                            <th>position</th>
                            <th>salary</th>
                            <th>start_date</th>
                            <th>office</th>
                            <th>extn</th>
                        </tr>
                    </thead>
                </table>


名称
位置
薪水
开始日期
办公室
extn

代码不是我想要的那样工作。在复制搜索框中的值后,它应该按enter键,然后它将显示我在搜索框中复制的结果。

尝试
键控
事件,而不是
更改
事件

$("#table1_filter input").val(this.value).trigger('keyup')

尝试按键或向下键事件:

var keyEvent = $.Event("keydown");
keyEvent.which = 13; 
$("#table1_filter input").trigger(keyEvent);

链接到KEYEGEL值:

< P>我认为您应该考虑DATABATE中的搜索API,而不是<代码>输入< /COD>事件

var dataTable = $("#table1").DataTable({
        data: data,
        columns: [
          { data: 'name' },
          { data: 'position' },
          { data: 'salary' },
          { data: 'start_date' },
          { data: 'office' },
          { data: 'extn' }
        ]
      });

$("#empPosition").change(function (event) {
        $("#table1_filter input").val(this.value);
        dataTable.search( this.value ).draw();
})

不可能按enter键而使用
Trigger
功能我不太明白这里的目的<代码>更改在输入失去焦点后触发(如果值已更改)。此外,在输入元素上按Enter键的默认操作是提交包含该输入的表单。。。