查找数组中的哪个div包含ValueA,并将ValueB从其返回到新的var

时间:2018-04-18 20:46:39

标签: javascript jquery html dom

单击按钮时,我抓取Select控件的 当前 值,如此...

$('#myBtn').on('click', function (clickEvent) {
    var nameSelected = document.getElementById('mySelectControl').getElementsByTagName('span')[0].innerText;
    //...
}

这很好。价值是正确的。假设nameSelected的值是'Bob'。

'Bob'也存在于我的页面的其他地方,在表格中。有超过1个表,但只有1个表包含值'Bob'。

每个表都已分配square类。

以下是我在表格中找到名称(Bob或其他)的方法。我只是在Chrome控制台中执行此操作。

创建每个表格的数组:

var tables = $('.square').each(function () {
    $(this).html();
})

抓住索引0处的表格并从表格中获取名称:

var name = $(tables[0]).find('tr:eq(0)').find('td').text();

这一切都有效。上述陈述的结果将是'Bob',或'Jon',或'Bill'等。

我需要的是不同td的值,来自任何包含nameSelected的表(来自上面的Select控件)。例如伪代码:

var phone = $(tables).find('tr:eq(6)').find('td').text();
WHERE
name == nameSelected

我希望这是有道理的。基本上是试图从td(6).text div nameSelected td(0).textif (currentTime > insertionRateTime) { cout << "insertionRateTime = " << insertionRateTime << "index" << index << endl; insertionRateTime += insertionRate; glDrawArrays(GL_POINTS, index, 1); index += 1; } glfwSwapBuffers(window); glfwPollEvents(); 获取#include "stdafx.h" #include <iostream> using namespace std; double sin(int input, int decimal_count); int factorial(int n); double deg_to_rad(int deg); double power(double base, int power); int main(){ double angle; int decimal; cout << sin(45,8) << endl; //end system("pause"); return 0; } double sin(int input, int accuracy) { int odds = 3; double sin; double rads = deg_to_rad(input); for (int i = 1; i <= accuracy; i += 1) { if (i==1) { sin = power(rads, odds) / factorial(odds); } else if (i%2==0) { sin = (power(rads, odds) / factorial(odds)) + sin; } else { sin = (power(rads, odds) / factorial(odds)) - sin; } odds = odds + 2; } sin = sin - rads; return sin; } int factorial(int n) { int fact = 1; for (int j = 1; j <= n; j+=1) { fact = fact * j; } return fact; } double deg_to_rad(int deg) { return deg*(3.14159265/180); } double power(double base, int power) { double ans = 1; for (int k = 1; k <= power; k+=1) { ans = ans * base; } return ans; } 的值。

我只是不确定如何写最后一句话,我尝试了一些事情。单击按钮时我想完成所有这些操作。我希望伪代码有帮助...

1 个答案:

答案 0 :(得分:1)

您不需要创建每个表格的&#34;数组&#34; 。您可以将代码放在each()函数内,然后只需检查名称,看看您是否找到了您正在寻找的人(例如Bob),然后休息,这样您就不会继续搜索其他表格不必要地:

var search = 'Bob';
var phone;
$('.square').each(function() {
  var name = $(this).find('tr:eq(0)').find('td').text();
  if (name === search) {
    phone = $(this).find('tr:eq(6)').find('td').text();
    return false; //Break out of the loop.
  }
});