2017-01-16 3 views
0
<td> 
    <input class="checkboxColumn" name="An" value="9FFF8546C9E9A200F7780550E6A4B6F9610B29D3A" type="checkbox"> 
    <input id="AList" name="AList" value="9FFF8546C9E9A200F710550E6694B6F9610B29D3A|Disabled" type="hidden"> 
</td> 

У меня выше td в качестве первого столбца в JQuery datatable. Мне нужно получить значение #AList, используя нижеследующую логику JavaScript. Но приведенное ниже предупреждение показывает значение первого тега ввода для всех строк при итерации. Какие изменения мне нужно сделать для отображения значения второго тега?Как получить значение второго тега ввода в html-фрагменте ниже?

var rows = oTable.fnGetNodes(); 
    for (var i = 0; i < oTable.fnSettings().aiDisplay.length; i++) { 
     debugger; 
     // Get HTML of 3rd column (for example) 
     alert($($(rows[i]).find("td:eq(0)").html()).val()); 
     } 

На отображая

alert($(rows[i]).find("td:eq(0)").html());

настороже показывает полную разметку содержимого <td>

мне нужен выход как "9FFF8546C9E9A200F710550E6694B6F9610B29D3A|Disabled"

+0

Функция '.html()' получает внутренний тег HTTML из тега. Попробуйте удалить его –

ответ

0

Поскольку html() получает содержимое как HTML. Вам необходимо получить доступ к input в td, а затем получить его с помощью val().

alert($(rows[i]).find("td:eq(0) #AList").val()); 

Для примера вы можете увидеть здесь (в примере я намеренно получить table то td)

console.log($('table').find("td:eq(0) #AList").val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
    <input class="checkboxColumn" name="An" value="9FFF8546C9E9A200F7780550E6A4B6F9610B29D3A" type="checkbox"> 
 
    <input id="AList" name="AList" value="9FFF8546C9E9A200F710550E6694B6F9610B29D3A|Disabled" type="hidden"> 
 
</td> 
 
    </tr> 
 
</table>

+0

Описательный ответ. Работает – MMU

0

оповещения ($ (строки [я]). Найти ("td #AList"). val());

Это должно сработать. Вы сможете получить желаемое значение.

0

Если вы обобщили регистр для всего второго поля ввода в td, используйте псевдоселектор - nth-child (n).

alert($(rows[i]).find("td>input:nth-child(2)").val());