代码之家  ›  专栏  ›  技术社区  ›  The.Anti.9

HTMLInputElement没有方法“val”

  •  31
  • The.Anti.9  · 技术社区  · 15 年前

    我在一个表格行的单元格中循环。每个单元格中都有一个文本框,我想获取文本框的值并将其推送到数组中。

    function dothing() {
            var tds = $('#'+selected+' td');
            var submitvals = new Array();
            tds.each(function(i) {
                var val = $(this).children('input')[0].val();
                submitvals.push(val);
            });
        }
    

    val()

    5 回复  |  直到 12 年前
        1
  •  66
  •   meder omuraliev    15 年前

    val() 是jQuery方法。 .value [0].value .eq(0).val() ....

        2
  •  16
  •   Alex    15 年前

    .val() 是jQuery函数,不是javascript函数。因此,改变:

    var val = $(this).children('input')[0].val()
    

    var val = $(this).children('input:eq(0)').val()
    
        3
  •  2
  •   edtsech    15 年前
    function dothing() {
        var tds = $('#'+selected+' td');
        var submitvals = new Array();
        tds.each(function(i) {
            var val = $($(this).children('input')[0]).val();
            submitvals.push(val);
        });
    }
    
        4
  •  2
  •   Ben Rowe    15 年前

    .val()是一个jquery方法。使用[0]返回DOM元素,而不是jquery元素

    var val = $(this).children('input:first').val();
    
        5
  •  0
  •   Dronz    12 年前

    我不明白的是,为什么关于这个或其他类似问题的建议语法似乎都不适用于我。我不得不反复试验,最终不得不使用:

    MySelectElement.value=x;