jQuery-如何从弹出窗口更改不同的输入值

jQuery-如何从弹出窗口更改不同的输入值,jquery,html,Jquery,Html,如何通过弹出窗口更改输入值 假设我正在构建一个购物平台,当用户点击数量时,会出现一个弹出窗口。其他产品的数量将有所不同。这是我的密码 HTML: 您可以通过单击事件中的e.target检测并保存单击的输入,然后写入保存的输入 var input; qnt.click(function(e) { //Save the selected input input = e.target; $('.pop_up').show('fast'); }); $('.pop_up_cam

如何通过弹出窗口更改输入值

假设我正在构建一个购物平台,当用户点击数量时,会出现一个弹出窗口。其他产品的数量将有所不同。这是我的密码

HTML:


您可以通过单击事件中的
e.target
检测并保存单击的输入,然后写入保存的输入

var input;
qnt.click(function(e) {
    //Save the selected input
    input = e.target;
    $('.pop_up').show('fast');
});

$('.pop_up_campo').click(function() {
    $('.pop_up_confirm').click(function() {
        //Write into selected input
        $(input).val($('.pop_up_campo').val());
        $('.pop_up').hide();
    })
})

您可以使用函数之外的变量来跟踪您选择的输入(因此需要更改)。你不想把按钮点击放在输入点击里面——弹出窗口里面的输入点击看起来不应该触发任何事件。因此,将弹出窗口的单击功能与关闭弹出窗口时更改输入值的单击事件分开

var selectedInput = '';
$(document).on('click', '.qnt', function() {
    selectedInput = $(this);
    $('.pop_up').show('fast');
});

$(document).on('click, '.pop_up_confirm', function() {
    selectedInput.val($('.pop_up_campo').val());
    $('.pop_up').hide();
    selectedInput = '';
});

这就是你要找的。

您可以使用
$(this).data(“count”,10)
在单击的元素中存储数据

有关如何使用该功能的更多信息,请参阅

var input;
qnt.click(function(e) {
    //Save the selected input
    input = e.target;
    $('.pop_up').show('fast');
});

$('.pop_up_campo').click(function() {
    $('.pop_up_confirm').click(function() {
        //Write into selected input
        $(input).val($('.pop_up_campo').val());
        $('.pop_up').hide();
    })
})
var selectedInput = '';
$(document).on('click', '.qnt', function() {
    selectedInput = $(this);
    $('.pop_up').show('fast');
});

$(document).on('click, '.pop_up_confirm', function() {
    selectedInput.val($('.pop_up_campo').val());
    $('.pop_up').hide();
    selectedInput = '';
});
$(document).ready(function() {
    //all your jquery code should be wrapped up in document ready
    var id = 1000;  

    //for each .qnt, apply a click listener
    $('.qnt').each(function(){
      var $thisQuantity = $(this);
      $thisQuantity.attr('data-id', id++);
      $thisQuantity.click(function() {
        //copy the .qnt value to pop up input
        $('.pop_up_campo').val($thisQuantity.val());
        $('.pop_up_campo').attr('data-id', $thisQuantity.attr('data-id'));
        $('.pop_up').show('fast');
        $('.pop_up_campo').focus();
      });
    });

    //apply a click handler to your pop_up button
    $('.pop_up_confirm').click(function() {
      var relatedQntId = $('.pop_up_campo').attr('data-id');
      var newValue = $('.pop_up_campo').val();
      $(".qnt[data-id='"+relatedQntId+"']").val(newValue);
      $('.pop_up').hide();
    });
});