Javascript 如何从循环中的listitem/无序列表的输入中获取值

Javascript 如何从循环中的listitem/无序列表的输入中获取值,javascript,input,listitem,Javascript,Input,Listitem,我正在尝试创建一个通用的JS来 从输入中获取id和值。 然后,将它们放入一个JsonObject中以传递回服务器。 清单如下: <ul id="myList" data-role="listview" data-inset="true"> <li> Field One <input id="Field_One" /></li> <li> Field Two <input id="Field_Two" />&l

我正在尝试创建一个通用的JS来 从输入中获取id和值。 然后,将它们放入一个JsonObject中以传递回服务器。 清单如下:

<ul id="myList" data-role="listview" data-inset="true">
    <li> Field One <input id="Field_One" /></li>
    <li> Field Two <input id="Field_Two" /></li>
    <li> Field Three <input id="Field_Three" /></li>
    <li> Field Four <input id="Field_Four" /></li>
</ul>
  • 第一场
  • 第二场
  • 第三场
  • 第四场
我可以得到列表项的数据

function Test(){
    var unorderedList = document.getElementById('myList'); 
    var ListItems = unorderedList.getElementsByTagName('li');  
    var listID

    for (var i = 0; i < ListItems.length; i++) {
        listID = ListItems[i].firstChild.data;
        //alert(listID);
    };  
}
功能测试(){
var unorderedList=document.getElementById('myList');
var ListItems=unorderedList.getElementsByTagName('li');
变量列表ID
对于(变量i=0;i
但我无法进一步获取文本ID或值。 (好吧,如果我有身份证,那么我可以得到价值…)


如何通过循环获取ul/il中的输入id/值?

您可以使用getAttribute获取id。因此:

 listID = ListItems[i].firstChild.getAttribute('id');

您可以使用getAttribute获取id。因此:

 listID = ListItems[i].firstChild.getAttribute('id');

没有人说第一个孩子将是输入。事实上,它很可能是一个文本节点

试一试:

function Test() {
    var unorderedList   = document.getElementById('myList'),
        ListItems       = unorderedList.getElementsByTagName('li');  

    for (var input, i = 0; i < ListItems.length; i++) {
        input = ListItems[i].getElementsByTagName('input')[0];
        console.log(input.id, input.value);
    }
}
功能测试(){
var unorderedList=document.getElementById('myList'),
ListItems=unorderedList.getElementsByTagName('li');
for(变量输入,i=0;i

没有人说第一个孩子将成为输入。事实上,它很可能是一个文本节点

试一试:

function Test() {
    var unorderedList   = document.getElementById('myList'),
        ListItems       = unorderedList.getElementsByTagName('li');  

    for (var input, i = 0; i < ListItems.length; i++) {
        input = ListItems[i].getElementsByTagName('input')[0];
        console.log(input.id, input.value);
    }
}
功能测试(){
var unorderedList=document.getElementById('myList'),
ListItems=unorderedList.getElementsByTagName('li');
for(变量输入,i=0;i

您可以直接获取输入。在您的示例中,似乎没有理由首先获取LIs:

功能测试(){
var unorderedList=document.getElementById('myList');
var ListItems=unorderedList.getElementsByTagName('input');
对于(变量i=0;i
您可以直接获取输入。在您的示例中,似乎没有理由首先获取LIs:

功能测试(){
var unorderedList=document.getElementById('myList');
var ListItems=unorderedList.getElementsByTagName('input');
对于(变量i=0;i