0

如何从输入文本框中动态检索值:

   $(":input").each(function(){alert($(this).text());});

案子 :

动态列名取自 xml 源并以这种方式绑定:

<script type="text/javascript" language="javascript">
    $(document).ready(function(){

            $.ajax({
                type: "GET",
                url: "GetColumnNames.xml",
                dataType: "xml",
                success: function(xml) {
                    var cWidth =  100/(xml.getElementsByTagName("Column")).length;
                    $(xml).find('Column').each(function(){
                        var cId = $(this).find('Id').text();
                        var cName = $(this).find('Name').text();
                        $('<td id='+cId+' width='+cWidth+'>'+cName+'</td>').appendTo('#page-wrap');
                        $('<label for='+cName+'>'+cName+'<input type="text" name='+cName+'id='+cName+' value="" class="text ui-widget-content ui-corner-all" /></label>').appendTo('#moreItems');
                    });
                }
            });
        });
    </script>

#moreItems是另一个 div 的一部分,它是模式弹出窗口的一部分,我想访问其中的值,

所以,

验证后我这样:

   if ( bValid ) {


                       $(":text").each(function(){
                        alert($(this).text());
                       });

}

但我仍然无法访问输入值。

笔记 :

它不类似于:

如何使用 JQuery 检索文本框值?, Jquery 检索动态创建元素的值, 我如何使用 jquery 检索文本框的标题和名称?,

寻求您的帮助..

谢谢。

4

1 回答 1

2

你少了一个$标志。它应该是:

$(":text").each(function(){
    alert($(this).val());
});

您还应该尝试生成格式良好的 HTML,其属性由引号字符分隔:

$('<td id="'+cId+'" width="'+cWidth+'">'+cName+'</td>').appendTo('#page-wrap');
$('<label for="'+cName+'">'+cName+'<input type="text" name="'+cName+'" id="'
    +cName+'" value="" class="text ui-widget-content ui-corner-all" /></label>')
    .appendTo('#moreItems');
于 2011-02-01T13:15:10.497 回答