我似乎无法理解这一点,我在each
循环中包含此代码:
$('#prices_table tbody tr:last').children().eq(2).val("Y U NO WORK?!");
现在上面的代码不起作用,但是如果我尝试设置文本或html,它会指定权限并更改文本,但是设置值似乎不起作用。
有人说特定元素是文本输入。
我在this问题中看到作者似乎能够解决元素的attr问题,意思是:
$('#prices_table tbody tr:last').children().eq(2).attr("value","Y U NO WORK?!");
但这也不起作用。我的页面上没有错误,任何想法可能是什么问题?
我应该提到的是,地址元素是由上面的克隆1行使用:
创建的$('#prices_table tbody tr:first').clone(true).appendTo('#prices_table').show();
如果重要,这就是元素的html:
<input class="itext product_prices_inputs" type="text" name="prices[]" value="0"/>
我的代码在(document).ready
内运行。
由于我的大部分代码都是使用PHP生成的,因此这是特定tr
的输出HTML:
<tr style="">
<td>
<select class="iselect pricelist_products_select" name="pricelist_product[]" >
//very big select
</select>
</td>
<td class="product_price">85</td>
<td>
<input class="itext product_prices_inputs" type="text" name="prices[]" value="0">
</td>
<td>
<a href="#" class="delete_price">delete</a>
</td>
</tr>
答案 0 :(得分:1)
您正尝试将输入标记作为tr的子项访问,因为除th
或td
标记内的tr
或DOM
之外,不能使用任何标记。你应该深入$('#prices_table tr:last input')
并发现该元素更低一级。
这样的事情应该做:
{{1}}
访问该表最后一行内的输入。
答案 1 :(得分:1)
Arash Milanis回答让我意识到我试图在val()
上设置td
而不是它的孩子。这段代码最终起作用,因为td
只有一个孩子:
$('#prices_table tbody tr:last').children().eq(2).children().eq(0).val("Y U NO WORK?!");