jQuery通过attr找到td并将输入设置为变量

时间:2014-01-29 09:14:28

标签: jquery input attr

 <tr>
    <td></td>
    <td></td>
    <td data-unit="spear" class="tooltip">
        <input type="text" size="2" name="spear" />
    </td>
    <td data-unit="sword" class="tooltip">
        <input type="text" size="2" name="sword" />
    </td>
    <td data-unit="axe" class="tooltip">
        <input type="text" size="2" name="axe" />
    </td>
    <td data-unit="spy" class="tooltip">
        <input type="text" size="2" name="spy" />
    </td>
    <td data-unit="light" class="tooltip">
        <input type="text" size="2" name="light" />
    </td>
    <td data-unit="heavy" class="tooltip">
        <input type="text" size="2" name="heavy" />
    </td>
    <td data-unit="ram" class="tooltip">
        <input type="text" size="2" name="ram" />
    </td>
    <td data-unit="catapult" class="tooltip">
        <input type="text" size="2" name="catapult" />
    </td>
    <td>
        <input type="button" value="Aanvragen" class="btn call_button" data-village="21603" />
    </td>
</tr>

我首先激活了满足某个条件的每个tr并将输入设置为0:

var everytr = $('#village_troup_list tbody tr:has(input[value="Aanvragen"])')
everytr.find('input[type="text"]').val(0);

对于这些trs中的每一个,我现在想要将每个td用data-unit =“spear”,每个td用data-unit =“sword”等设置为我的变量。

var numberofspear = 10;
var numberofsword = 15;

我试过了:

$('#village_troup_list tbody td[data-unit="spear"]').find('input[type="text"]').val(numberofspear);

还有其他一些事情,但它们都不起作用。 :(有谁知道我怎么能这样做?

我会更好地解释一下:我想通过attr data-unit="spear" (data-unit="myunitx".)将每个td的输入设置为我的变量

1 个答案:

答案 0 :(得分:1)

试试这个,

$('#village_troup_list').find('input[value="Aanvragen"]').val(numberofspear);

Demo

而你的html看起来不是well close tds喜欢,

<table id="village_troup_list">
    <tr>
        <td></td>
        <td data-unit="spear" class="tooltip">
            <input type="text" size="2" name="spear" />
        </td>
        <td data-unit="sword" class="tooltip">
            <input type="text" size="2" name="sword" />
        </td>
        <td data-unit="axe" class="tooltip"></td>
        <td data-unit="spy" class="tooltip">
            <input type="text" size="2" name="spy" />
        </td>
        <td data-unit="light" class="tooltip"></td>
        <td data-unit="heavy" class="tooltip"></td>
        <td data-unit="ram" class="tooltip"></td>
        <td data-unit="catapult" class="tooltip"></td>
        <td>
            <input type="button" value="Aanvragen" class="btn call_button" data-village="9598" />
        </td>
    </tr>
</table>

Updated Demo

您可以value使用button来设置class name的{​​{1}}

$('#village_troup_list').find('input.call_button').val(numberofspear);

Class Demo

已更新,numberofspear设置为spear inputs尝试使用[name=selector]

$('#village_troup_list').find('input[name=spear]').val(numberofspear);

Spear Demo