Javascript 如何使用Jquery自动按enter键
如何使用Jquery在不按enter键的情况下按enter键。 我有一个下拉列表。从下拉列表中选择任意值后,列表的值将复制到输入框(搜索框)中。然后,我想使用jquery自动调用enterkey事件。 请参考以下代码Javascript 如何使用Jquery自动按enter键,javascript,jquery,datatables,Javascript,Jquery,Datatables,如何使用Jquery在不按enter键的情况下按enter键。 我有一个下拉列表。从下拉列表中选择任意值后,列表的值将复制到输入框(搜索框)中。然后,我想使用jquery自动调用enterkey事件。 请参考以下代码 $(document).ready(function(){ var data = [ { "name": "T
$(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键的默认操作是提交包含该输入的表单。。。