在Jquery中,从单个文本框id中获取不同的值

时间:2015-04-25 09:30:58

标签: javascript jquery

我在jquery中使用Data Table。所以我传递了一个输​​入类型文本框并传递了单个id。此数据表将采用多个文本框。我将手动输入值并将其传递给控制器​​。我想将一个或多个文本框值作为数组..

以下图片是我的数据表的确切视图。enter image description here 我在一个地方标记了红色。三个文本框具有相同的ID但不同的值。如何绑定?

{{1}}

真的很难找到解决方案......我想得到所有文本框值?

3 个答案:

答案 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());
});
}