如何获取所点击的输入的值?此时,值显示在所有输入中。如何在所选输入中显示值?
这是我的代码:
change

$('.ui-spinner').click(function () {
$('.cn-wrapper').show();
});
$(".cn-wrapper li span").click(function () {
var textValue = $(this).text();
$('.ui-spinner').val(textValue);
});

.cn-wrapper {
display:none;
}

这是一个外部fiddle。
答案 0 :(得分:5)
您需要将最后点击的input
存储在两个函数范围内的变量中,如下所示:
var $target;
$('.ui-spinner').click(function () {
$('.cn-wrapper').show();
$('.target').removeClass('target');
$target = $(this);
});
$(".cn-wrapper li span").click(function () {
var textValue = $(this).text();
$target.val(textValue);
$('.cn-wrapper').hide();
});
或者,您可以在单击时向所选输入添加一个类,然后在设置值时将其作为目标:
$('.ui-spinner').click(function () {
$('.cn-wrapper').show();
$(this).addClass('target');
});
$(".cn-wrapper li span").click(function () {
var textValue = $(this).text();
$('.target').val(textValue);
});
答案 1 :(得分:1)
一种方法是在点击侦听器之外创建一个引用lastClickedInput
的变量,如下所示:
var lastClickedInput = null;
$('.ui-spinner').click(function () {
$('.cn-wrapper').show();
lastClickedInput = $( this );
});
$(".cn-wrapper li span").click(function () {
var textValue = $(this).text();
if ( lastClickedInput )
lastClickedInput.val( textValue );
});