代码之家  ›  专栏  ›  技术社区  ›  darylsummers

将输入值保存到jquery中的内联单击变量中后从该输入中获取该值

  •  0
  • darylsummers  · 技术社区  · 6 年前

    当用户在jquery中的document on click事件中按下save按钮时,的值存储在隐藏的输入中。我正在努力使这个输入的值显示在输入下面的链接中的onclick事件中,以便能够检测到该值并在用户需要时删除该项。我需要在不刷新页面的情况下实现这一点。

    $(document).on('click','.addItem', function(){
    
        $('<div class="col3">\
            <input type="hidden" class="itemId" name="itemId[]" value="">\
            <a class="rowDeleteButton" onclick="onclick="deleteItem($(this))">Delete Button</a>\
            <div class="saveButton rowSave">Save Button</div>\
        </div>')
    
    });
    

    我要求在按下save按钮之后,隐藏输入的value=中存储的值也存储在delete按钮链接的onclick事件中。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Mamun    6 年前

    你有问题

    onclick="onclick="deleteItem($(this))
    

    我想只是路过 对功能来说就足够了。我也喜欢 Template literals .

    你可以尝试以下方式:

    $(document).on('click','.addItem', function(){
    
        $(this).append(`<div class="col3">
            <input type="hidden" class="itemId" name="itemId[]" value="hiddenTestValue">
            <a class="rowDeleteButton" onclick="deleteItem(event,this)">Delete Button</a>
            <div class="saveButton rowSave">Save Button</div>
        </div>`)
      
    });
    
    function deleteItem(e, el){
      var hdInput = $(el).parent().find('.itemId');
      console.log('value before:',hdInput[0].value);
      hdInput[0].value = '';
      console.log('value after:',hdInput[0].value);
      e.stopPropagation();
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="addItem">Test</div>