如果包含多个值,如何使用jquery获取文本内部

时间:2015-06-04 08:09:48

标签: jquery asp.net-mvc razor

我有一个表格会在点击按钮时动态创建

<table id="diagnosis" style="display:none">
    <tr>
        <td>
            <input id="diag-%" class="diag" style="width:200px" type="text" name="provider_diagnosis_dtls[#].diagnosis_code" value /> 
         </td>
        <td>
            <input id="desc-%" class="diag_desc" style="width:500px" type="text" name="provider_diagnosis_dtls[#].diagnosis_desc" value /> 
         </td>
        <td>
            <input id="level-%" type="text" name="provider_diagnosis_dtls[#].diagnosis_level" readonly value />
            <input type="hidden" name="provider_diagnosis_dtls.Index" value="%" /> 
        </td>
    </tr>
</table>

我可以打印第3个输入的值,即“level-%” 使用下面的代码

var table = $("#diagnosis");
table.find('tr').each(function(i, el) {
    var $tds = $(this).find('td');
    if (diagnosis_row != 1) {
        alert($tds.eq(2).find('input').val());
    }
    diagnosis_row++;
});

现在我需要获得

的值
<input type="hidden" name="provider_diagnosis_dtls.Index" value="%" />

属于同一<td>级别“%”,我怎样才能达到同样目标?

2 个答案:

答案 0 :(得分:2)

您可以使用Attribute Equals Selector [name=”value”]

  

选择具有指定属性的元素,其值完全等于某个值。

$tds.eq(2).find('input[type=hidden]').val();

或,:eq()

  

选择匹配集内索引n处的元素。

$tds.eq(2).find('input:eq(1)').val();

或,:hidden

$tds.eq(2).find(':hidden').val();

答案 1 :(得分:2)

对于此HTML,您可以使用:hidden

$tds.eq(2).find(':hidden').val()