输入所选Id的值

时间:2015-06-08 15:59:12

标签: javascript jquery html css

如何获取所点击的输入的值?此时,值显示在所有输入中。如何在所选输入中显示值?

这是我的代码:



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

2 个答案:

答案 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();
});

Example fiddle

或者,您可以在单击时向所选输入添加一个类,然后在设置值时将其作为目标:

$('.ui-spinner').click(function () {
    $('.cn-wrapper').show();
    $(this).addClass('target');
});

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

Example fiddle

答案 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 );
});

示例小提琴:https://jsfiddle.net/richardgirges/fmLjr5cf/6/