根据TD.id设置值

时间:2016-02-25 21:38:54

标签: javascript jquery

我正在尝试根据他们的ID添加TD元素的值。要做到这一点,我试图通过if语句传递一系列id,见下文;

var pricing = 0;
var extraLeg = 9.99;
var standardSeat = 4.99;
var upFront = 9.99;
var extraLeg1 = 13.99;

  var tds = document.getElementsByTagName("td");
  for (var T = 0; T<tds.length; T++)
  {
    if(tds[T].id == "_1a","_1f")
    {
       pricing = extraLeg1;
    }
    if(tds[T].id == "_2a","_6f")
    {
       pricing = upFront;
    }
    if(tds[T].id == "_7a","_11f")
    {
       pricing = standardSeat;
    }
    if(tds[T].id == "_12a","_13f")
    {
       pricing = extraLeg;
    }
    if(tds[T].id == "_13a","_23f")
    {
       pricing = standardSeat;
    }     
  }
  

表格的每一行由7个td元素组成;
&#34; _1a&#34;,&#34; _1b&#34;,&#34; _1c&#34;,&#34;过道编号&#34;,&#34; _1d&#34;, &#34; _1e&#34;&#34; _1f&#34;

然而,当我尝试这个时,点击的第一个元素设置了所有其他元素的价格,尽管有for循环。谁能告诉我如何解决这个问题,以便为td分配特定值?

提前致谢

1 个答案:

答案 0 :(得分:1)

您进行的比较不正确。

应该是这样的:

if(tds[T].id == "_13a" || tds[T].id == "_23f")

在您的代码中,表达式tds[T].id == "_13a","_23f"的计算结果为&#34; _23f&#34;由于逗号,因为它变得真实,所有if条件都会被执行。

您可以在控制台中查看此内容:console.log((2 == 3, "_23f"));

也就是说,您应该考虑使用Switch块来更好地呈现代码并使未来的更改更容易。

  var pricing = 0;
  var extraLeg = 9.99;
  var standardSeat = 4.99;
  var upFront = 9.99;
  var extraLeg1 = 13.99;

  var tds = document.getElementsByTagName("td");
  for (var T = 0; T<tds.length; T++)
  {
      switch (tds[T].id) {
          case "_1a":
          case "_1f":
              pricing = extraLeg1;
              break;
          case "_2a":
          case "_6f":
              pricing = upFront;
              break;
          case "_7a":
          case "_11f":
              pricing = standardSeat;
              break;
          case "_12a":
          case "_13f":
              pricing = extraLeg;
              break;
          case "_13a":
          case "_23f":
              pricing = standardSeat;
              break;
      }
  }

编辑:如果你想添加更多像&#34; _1b&#34;,&#34; _1c&#34;然后,无论您的定价是相同的,您都可以将案例联合起来。例如:

switch (tds[T].id) {
      case "_1a":
      case "_1b":
      case "_1c":
      case "_1d":
      case "_1e":
      case "_1f":
          pricing = extraLeg1;
          break;
      case "_2a":
      case "_6f":
          pricing = upFront;
          break;
      case "_12a":
      case "_13f":
          pricing = extraLeg;
          break;
      case "_7a":
      case "_11f":
      case "_13a":
      case "_23f":
          pricing = standardSeat;
          break;
  }