如果有人可以帮助我,我会永远感激。
基本上,聚焦功能应该使得如果用户按下对话框中的3个字段中的最后一个,则它将作为选项卡。如果他们在最后一个字段中输入,则提交表单。后一种功能有效,但标签不起作用。
任何人都知道为什么?我没有发布整个代码块,但这应该提供足够的数据。我使用event.target错了吗?
$('#dialog-add-items').dialog({
autoOpen: false,
resizable: false,
width:500,
position:['center',80],
modal: true,
focus: function() {
$(':input:last', this).unbind('keyup').keyup(function(event) {
if (event.keyCode == 13) {
$('.ui-dialog-buttonpane button:first').click();
}
});
$(':input:not(:last)', this).unbind('keyup').keyup(function(event){
if(event.keyCode == 13){
name=event.target;
$(name).next('input').focus();
}
});
},...
答案 0 :(得分:0)
如果我不得不猜我会说$('.ui-dialog-buttonpane button:first').click();
是罪魁祸首。尝试给你的按钮一个ID和参考:
$('#dialog-add-items').dialog({
autoOpen: false,
resizable: false,
width:500,
position:['center',80],
modal: true,
focus: function() {
$(':input:last', this).unbind('keyup').keyup(function(event) {
if (event.keyCode == 13) {
$('#okbutton').click();
}
});
$(':input:not(:last)', this).unbind('keyup').keyup(function(event){
if(event.keyCode == 13){
name=event.target;
$(name).next('input').focus();
}
});
},
buttons: [{text: 'Ok', id:'okbutton'}],...
答案 1 :(得分:0)
我最后添加了一个if / else语句来测试两个字段中的哪个被聚焦,然后跳转到下一个字段。既麻烦又丑陋,但这是我唯一可以上班的事情。