我在jquery中使用Data Table。所以我传递了一个输入类型文本框并传递了单个id。此数据表将采用多个文本框。我将手动输入值并将其传递给控制器。我想将一个或多个文本框值作为数组..
以下图片是我的数据表的确切视图。 我在一个地方标记了红色。三个文本框具有相同的ID但不同的值。如何绑定?
{{1}}
真的很难找到解决方案......我想得到所有文本框值?
答案 0 :(得分:2)
Id只能使用一次;使用一个类,然后当你引用类时,你可以遍历它们。
<input class="getValues" />
<input class="getValues" />
<input class="getValues" />
然后,引用为......
$(".getValues")
循环播放......
var allValues = [];
var obs = $(".getValues");
for (var i=0,len=obs.length; i<len; i++) {
allValues.push($(obs[i]).val());
}
...现在你有了一系列值。
您还可以使用jQuery .each
功能。
var allValues = [];
var obs = $(".getValues");
obs.each(function(index, value) {
allValues.push(value);
}
答案 1 :(得分:1)
因此,基本规则是您不能拥有重复的ID。因此,使用类。因此,在您的示例中,将这些文本框的ID替换为类,如:
<input class="amount" type="text" />
然后,尝试以下代码。
function UpdateAmount() {
debugger;
var amount = [];
$("input:checkbox[name=che]:checked").each(function () {
var $row = $(this).closest("tr");
var inputVal = $row.find(".amount").val();
amount.push(inputVal);
});
console.log (amount); // an array of values
console.log (amount.join(", ")); // a comma separated string of values
if (!amount.length) {
alert("Please select atleast one record to update");
return false;
}
}
看看是否有效,然后我会添加一些关于代码的详细信息。
答案 2 :(得分:0)
首先,如果你在div中有所有文本框,那么你可以使用像这样的子函数获得所有文本框值
function GetTextBoxValueOne() {
$("#divAllTextBox").children("input:text").each(function () {
alert($(this).val());
});
}
现在另一种方法是你可以为你需要的那些文本框提供一个类名,并使用类名来获得该控件,
function GetTextBoxValueTwo() {
$(".text-box").each(function () {
alert($(this).val());
});
}