-1

我想知道如何从中获取值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(); 
            }   
        }
    });
    }

    });

示例 jsFiddle

谢谢你的时间

4

2 回答 2

1

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

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

如果您的价值观不相关,您只需将它们命名为不同的名称。

于 2013-11-12T20:01:12.403 回答
0
$('span.containernum').html()

或者

$('span.containernum').text()

会成功的。您将获得可以内爆或做任何您想做的事情的 html 字符串。有关这两个功能之间的区别,请参见https://stackoverflow.com/a/1910830/2806497 。

于 2013-11-12T19:47:35.283 回答