val
函数主要用于检索和设置表单元素的值。要获得/设置使用text或html功能
$("#interestTypesGrid tbody tr").live("click", function (e) {
$("#SelectedInterestTypeID").val($(this).find('td:first a').text());
$.post(URLGetInterestRates, $("#FormMasterData").serialize(), function (data) { $("#pagedInterestRates").html(data); });
});
在这段代码我假设#SelectedInterestTypeID
是一个表单元素非形式标记试的内容,如果不是你应该改变,要text
以及。
我在IE和Chrome中测试了这个working sample。
更新
样本HTML您提供:
<tr>
<td>
<a href="/MasterData/ShowInterestTypeDetails?id=11" value="11">
<img src = "../../Content/img/icon_detail_16px.gif" alt="" />
</a>
</td>
<td>q</td>
<td>34</td>
<td>q12</td>
<td>
<a href="/MasterData/DeleteInterestType?id=11" value="11">
<img src = "../../Content/img/icon_delete_16px.gif" alt="" />
</a>
</td>
</tr>
value
不是HTML有效的属性。如果你的目标HTML5你可以使用一个数据属性和jQuery的的data
功能,其实它很可能是最容易提上tr
属性:
<tr data-interestType='{"id":11}'>
然后使用数据功能,你的JavaScript:
$("#interestTypesGrid tbody tr").live("click", function (e) {
$("#SelectedInterestTypeID").val($(this).data("interestType").id);
$.post(URLGetInterestRates, $("#FormMasterData").serialize(), function (data) { $("#pagedInterestRates").html(data); });
});
另外working sample使用这种方法。
所有的标准都被诅咒,你可以使用attr jquery函数来检索任意元素属性的值。
如果它只适用于IE浏览器,则会出现严重错误。它应该只**不**在IE中工作。 – 2011-02-22 18:13:20