javascript - JQuery 语法,带 .val (""); (返回数组)

标签 javascript jquery arrays syntax

我是 Jquery 的新手,所以我对如何执行下面描述的内容感到有点困惑...

我正在尝试做的事情:

  1. 在整个页面中搜索包含单词 Rate 的输入文本框,然后再次搜索 Quantity。

  2. 计算(费率 * 数量)的总和

  3. 将结果呈现给用户。

我做了什么

  1. 因为行是动态添加的,所以元素名称中有 GUID,所以我搜索它们。

我需要帮助的地方

我可以使用 .val("") 命令提取值,但我对如何执行所需步骤的语法感到困惑。

这是我的:

  $("#alertButton").live("click", function () {
                var rateValues = $('input[name*="Rate"]').val("");
                var qtyValues = $('input[name*="Qty"]').val(""); 

                           //how do i handle it here

            });

这是其中一个利率文本框在 html 中呈现的样子(其中可能有 0 到许多,因为它们是动态添加到页面的)

<input type="text" value="0" style="width: 100%;" name="JobDetails[dd1c94e5-5e83-4a92-b5c4-0a5aea0eb5df].Rate" id="JobDetails___randomNumber___Rate" data-val-required="The Rate (Exl GST) field is required." data-val-number="The field Rate (Exl GST) must be a number." data-val="true">

最佳答案

当您将参数传递给“.val()”时——即使是空字符串——您设置 <input> 的值.您使用“.val()”(无参数)获取值,但这只会获取第一个匹配元素的值。

总的来说,您可能想要使用“.map()”:

var rateValues = $('input[name*="Rate"]').map(function() {
  return this.value;
});
var qtyValues = $('input[name*="Qty"]').map(function() {
  return this.value;
});

这将为您提供包含值和数量的数组。如果您还想要“id”或“name”,您可以返回其他内容:

var rateValues = $('input[name*="Rate"]').map(function() {
  return { value: this.value, name: this.name };
});

然后你就会有一个对象数组。

关于javascript - JQuery 语法,带 .val (""); (返回数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262710/

相关文章:

javascript - jQuery - 在 DOM 更改后悬停

javascript - 相当于 jQuery :contains() selector 的 native javascript

javascript - Ajax成功功能好像不起作用

javascript - 我们不能在 forEach 中重新分配数组值吗?

c - 将具有重复值的整数数组部分排序到存储桶中的最快方法

javascript - 在javascript中使用数组查找最大数字

javascript - 边框图像圆锥渐变示例在 React 中不起作用

javascript - 跨多个云代码文件共享一个函数

javascript - 在 Angular.js 中初始化 WOW.js

JavaScript - 'No Access Control Allow Origin' header'尽管存在