多属性选择器jQuery的操作

时间:2012-10-11 15:18:45

标签: javascript jquery css jquery-ui keyboard

我正在尝试使用键盘输入数值。

我的问题如下:键盘有一个“接受”按钮,我有几个文本字段,我想为每个文本字段添加一个不同的操作。我尝试使用多个属性选择器但不起作用。

<input id="txt1" type="text" /> </br>
<input id="txt2" type="text" /> </br>
<input id="txt3" type="text" /> </br>

$('input[type=text]').keyboard({
    layout: "num"
});

$('.ui-keyboard').on('click', 'input[name="key_accept"]',function() {
    alert('Accept button was clicked in text1');
    // do your stuff here
});

您可以在此链接中显示示例http://jsfiddle.net/Mils/W2xFX/25/

警报适用于所有文本字段,但我希望每个文本都有不同的警报。

2 个答案:

答案 0 :(得分:1)

由于您使用的组件未公开任何接受和取消事件,因此需要外部解决方案。例如,您可以将当前元素保存在焦点上,并在接受按钮事件中使用它。

演示: http://jsfiddle.net/W2xFX/27/

<强>代码:

var currentKB = null;
$('input[type=text]').focus(function() {
    currentKB = this;
    return true;
});

$('input[type=text]').keyboard({
    layout: "num"
});

$('.ui-keyboard').on('click', 'input[name="key_accept"]',function(e, x) {
    alert('Accept button was clicked in ' + currentKB.id);
    // do your stuff here
});

答案 1 :(得分:1)

http://jsfiddle.net/W2xFX/35/

您只需跟踪活动文本框(最后一个关注的文本框)。