我有一个jQuery问题,我可以使用一些帮助。我试图根据表中的值确定一个值。基于输入和查找表查找值
这里的情景:
一个类别选择。这决定了要使用的列。下面是 该代码:
var column; if($('input:radio[name=arc2-1]:checked').val() == 0 && $('input:radio[name=arc2-2]:checked').val() == 0) { column = 2; }else if($('input:radio[name=arc2-1]:checked').val() == 0 && $('input:radio[name=arc2-2]:checked').val() == 1) { column = 3; }else if($('input:radio[name=arc2-1]:checked').val() == 1 && $('input:radio[name=arc2-2]:checked').val() == 0) { column = 4; }else if($('input:radio[name=arc2-1]:checked').val() == 1 && $('input:radio[name=arc2-2]:checked').val() == 1) { column = 5; }else if($('input:radio[name=arc2-1]:checked').val() == 2 && $('input:radio[name=arc2-2]:checked').val() == 1) { column = 6; }else if($('input:radio[name=arc2-1]:checked').val() == 3 && $('input:radio[name=arc2-2]:checked').val() == 1) { column = 7; }
有一个在看起来像这样的HTML隐藏表:
<table id="ms25"> <tr> <td>65</td> <td>5.4</td> <td>5.4</td> <td>3.1</td> <td>3.1</td> <td>3.0</td> <td>-</td> </tr> <tr> <td>55</td> <td>4.6</td> <td>4.6</td> <td>2.7</td> <td>2.7</td> <td>2.5</td> <td>-</td> </tr> <tr> <td>45</td> <td>3.8</td> <td>3.8</td> <td>2.2</td> <td>2.2</td> <td>2.0</td> <td>-</td> </tr> <tr> <td>35</td> <td>2.9</td> <td>2.9</td> <td>1.7</td> <td>1.7</td> <td>1.5</td> <td>8.1</td> </tr> </table>
表中的值不会改变。总会有7列和11行(我缩短了这个例子)。
这是棘手的部分。在输入 字段中输入一个数字(65或更少)。然后:
将输入数字与第一个表格列进行核对。输入的数字被“舍入”到列中上一个最接近的数字。
- 的号码找到从步骤1中的一个和步骤4
例如,如果列是4,输入的号码是31,你会去的第一列,找到下一个最接近的数字“向上取整”(35),然后再转到第4列......找到的数字是1.7。
我发现,涉及的解决方案(如本:jQuery find same td in prev. and next row)的点点滴滴,但我不能确定如何把它放在一起。
任何关于解决方案或寻找的解决方案的帮助/指导将不胜感激。
你有没有想过在页面加载通过表迭代并保存一切都变成一个jQuery对象。这样,您不必每次都浏览DOM,而且使用起来更快,更方便。所以你会得到这样的结果:'{65:[5.4,5.4,3.1],55:[4.6,4.6,4.6]}' – Andy