JQuery根据下拉值显示字段集

时间:2011-12-12 11:48:54

标签: jquery html

我有一个HTML表单,其中包含ID为“soln_c_links”的字段,这是一个选择字段,其中包含两个值“是”和“否”;

在此字段下方有4个表格行,其输入字段基于我想要显示/隐藏的上述选项。我遇到的问题是没有DIV带有围绕这些字段的ID,而且 tr 中没有ID可以抓住,因为这是一个预编译的软件,我无法更改此

这些字段在 tr ...(示例)

中有两个元素
<tr>
<td>
<SPAN id=_Captsoln_c_title_a class=VIEWBOXCAPTION>Link Title:</SPAN><BR>
<SPAN id=_Datasoln_c_title_a class=VIEWBOX>
<INPUT id=soln_c_title_a class=EDIT maxLength=20 size=50 name=soln_c_title_a>
<INPUT type=hidden name=_HIDDENsoln_c_title_a></SPAN>
</td>
</tr>

所有四行都遵循相同的命名约定,即soln_c_title_a和soln_c_link_a这些从'a'到'd'

使用JQuery可以实现吗?

由于

贾斯汀

3 个答案:

答案 0 :(得分:1)

如果要选择表格行,可以选择其子项,然后冒泡到父级。

示例:

$(".VIEWBOX").each(function() {  //this selects the VIEWbox class elements

     var row = $(this).parent().parent(); //The DOM is TR > TD > ".VIEWBOX"-item

    if(selector here)
        row.hide();
 });

答案 1 :(得分:0)

您可以尝试使用n-th child selector代替。隐藏第一行使用的示例:

$('table tr:nth-child(0)').hide();

当然,您需要一种方法来识别表格。根据您的JavaScript,可能会使用closest()next()

答案 2 :(得分:0)

如果您没有任何ID或任何更简单的方法来找到您正在寻找的正确的INPUT元素,您始终可以根据其名称执行查找

$('input[name=_HIDDENsoln_c_title_a]')

该名称也可以由您的代码生成,因此如果您需要更改下拉值的名称以匹配字段值,您也可以这样做

var altName = ... // some text variations on the name
$('input[name=' + altName + '])

您还可以匹配以指定文字开头的名称

$('input[name$=someStartText]')

以指定文字结尾

$('input[name^=someEndText]')

包含指定文字

$('input[name*=someText]')

甚至包含特定单词(以空格分隔)

$('input[name~=someWord]')