我是jquery的绝对新手。
目前我有一个表格行:
<tr id="someID">
<td class="pin"><input type="text">/td>
<td><button class="addpin" type="button">ADD</button></td>
</tr>
我很难获得文本输入的值。这就是我所拥有的:
$(document).on('click', ".addpin", function() {
var mypin = $(this).parent().siblings(".pin").html();
alert(mypin);
});
警报:
<input type="text">
但是当我尝试时:
$(document).on('click', ".addpin", function() {
var mypin = $(this).parent().siblings(".pin").val();
alert(mypin);
});
无论输入内容是什么,它都是空白的。我做错了什么?
答案 0 :(得分:1)
var mypin = $(this).parent().siblings(".pin").children(0).val();
如果您将任何其他内容放入此单元格中,则需要进行调整。
答案 1 :(得分:1)
$(document).on('click', '.addpin', function() {
var mypin = $(this).parent().siblings(".pin").children(0).val();
alert(mypin);
});
这里的小提琴链接:https://jsfiddle.net/ztagdm5a/1/
答案 2 :(得分:0)
在这里你可以获得价值..
var table = $("#table");
var inputValue = [],
table.find('tr').each(function (i, el) {
var $tds = $(this).find('td');
inputValue.push($tds.find('#InputID').val());
});
答案 3 :(得分:0)
改为使用文字:
$(document).on('click', ".addpin", function() {
//Modified code:
var mypin = $(this).parent().siblings(".pin").text();
alert(mypin);
});
答案 4 :(得分:0)
以下是获取价值的方法
$(document).on('click', ".addpin", function() {
var mypin = $(this).parent().siblings(".pin").html();
alert(mypin); // Here mypin is a string("<input type='text'>") and not a form element
var mypin = $(this).parent().siblings(".pin").val();
alert(mypin);
/*Here $(this).parent().siblings(".pin") is the td element and
val() of td will be blank as you are getting.*/
/*This is what you are looking for.
Find the input element inside the td and extract the value*/
var mypin = $(this).parent().siblings(".pin").find("input").val();
alert(mypin);
});
答案 5 :(得分:0)
兄弟姐妹的解决方案很有效。 这只是一个额外的信息。
我假设在这种情况下,您有一个文本框,其中包含引脚名称并单击“添加”按钮将其添加到列表或其他内容。
$(this).parent().children(0).val();
$(this).parent() - &gt;将从“添加”按钮块
转到父级别儿童 - &gt;将是一个数组
儿童(0) - &gt; input元素是第一个元素