Javascript 从动态div中的值显示数组

Javascript 从动态div中的值显示数组,javascript,Javascript,我想知道如何从div span中获取值,并创建一个数组(),以便稍后创建对数据库的查询。我想弄明白,但我就是搞不懂 HTML <form> <span class="input-component"><input type="text"/><a href=#></a></span> </form> <br><br> <div id="numcontainer">

我想知道如何从
div span
中获取值,并创建一个数组(),以便稍后创建对数据库的查询。我想弄明白,但我就是搞不懂

HTML

<form>
    <span class="input-component"><input type="text"/><a href=#></a></span>
 </form>
<br><br>
<div id="numcontainer">
    <span class="containernum"></span><br>
</div>




Java脚本

jQuery(function($) {

var values = [];

    $('#numcontainer').on('click', 'a.js-delete', function(e) {
      $(this).prev().remove(); // the <span>
      $(this).next().remove(); // the <br>
      $(this).remove(); // the <a> itself
    });

      $('form input[type=text]').change(fileChangeHandler);
      function fileChangeHandler() {
        var form = $(this).closest('form');        
      }
     var form = $(this).closest('form');

    $('form .input-component input').on("propertychange keyup input paste",addInput);
    onlyNums($('form .input-component input'));
   function addInput() {
    var remainingChars = $(this).val().length;
    if (remainingChars == 24) {
        if ($('.containernum').text() == '') {
            $('.containernum').text($(this).val());
        } else {
            $('#numcontainer').append('<span class="containernum">'+$(this).val()+'</span><a class="js-delete href=#>[X]</a><br>');
        }
        $(this).val(''); // does empty the text input
$('.containernum').each(function(index){
  // Your code
  console.log( $(this).html() );
});


        values.push($(this).val());
        console.log(values);
    }
}


    function onlyNums($elem){
        $elem.keydown(function(event) {
        // Allow only backspace and delete
        if ( event.keyCode == 46 || event.keyCode == 8 ) {
            // let it happen, don't do anything
        }
        else {
            // Ensure that it is a number and stop the keypress
            if (event.keyCode < 48 || event.keyCode > 57 ) {
                event.preventDefault(); 
            }   
        }
    });
    }

    });
jQuery(函数($){
var值=[];
$('numcontainer')。在('click','a.js-delete',函数(e)上{
$(this.prev().remove();//
$(this).next().remove();//the
$(this.remove();//the
); } $(this.val(“”);//清空文本输入 $('.containernum')。每个(函数(索引){ //你的代码 log($(this.html()); }); value.push($(this.val()); console.log(值); } } 函数onlyNums($elem){ $elem.keydown(功能(事件){ //仅允许退格和删除 if(event.keyCode==46 | | event.keyCode==8){ //让它发生吧,什么都不要做 } 否则{ //确保它是一个数字并停止按键 如果(event.keyCode<48 | | event.keyCode>57){ event.preventDefault(); } } }); } });

谢谢你的时间

$('span.containernum').html()

我会成功的。你将得到html字符串,你可以内爆或做任何你想做的事。
有关这两个函数之间的差异,请参阅。

要存储值;为什么不使用隐藏输入?创建具有相同名称的
input
元素,而不是使用相同的类创建跨距

<div id="numcontainer">
    <input type="hidden" name="myNums" value="305" />
    <input type="hidden" name="myNums" value="49" />
</div>

如果你的值不相关,你只需给它们起个不同的名字。

此外,这个例子应该提供一个独立而简洁的小提琴版本,而不是让我们自己来计算。检查一下你键入的数字的例子,它们会存储在区域中,稍后我想在数组中看到它们()我认为这是个坏主意。没有其他方法吗?我编辑了我的答案。我不认为还有其他方法,我也不认为有什么问题,因为你可以控制你的跨度。好主意,检查它不会让我得到值=“它留下空白你的问题只是问如何获取一组值并将它们放入数组中。它没有说明如何显示价值。另外,您的JSFIDLE有打字错误(
.lenght
)。将代码简化为您遇到问题的部分,然后将其扩展为更复杂的部分。我不希望它们的值显示为现在的值。后来我不想添加一个发送到数据库的按钮(那么我应该如何获得跨度的值呢?)。怎么会有打字错误
<div id="numcontainer">
    <input type="hidden" name="myNums" value="305" />
    <input type="hidden" name="myNums" value="49" />
</div>
var values = [];
$("#numcontainer input:hidden[name='myNums']").each(function() {
    values.push( $(this).val() );
});