我想更新位於文本框旁邊的隱藏字段的值。原因是因爲它在.net中繼器內部,所以我無法從沒有回傳的代碼中更新它,這需要很長時間。使用jquery更新中繼器的隱藏字段值
HTML
<asp:Repeater ID="rptTranslations" runat="server" OnItemDataBound="rptTranslations_ItemDataBound">
<ItemTemplate>
<tr id="rptRow" runat="server" class="form-line-input">
<td>
<asp:TextBox ID="txtEnglish" runat="server" ReadOnly="true" Text="" Width="475px"></asp:TextBox></td>
<td>
<asp:HiddenField ID="hiddenRecordId" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "recordId") %>' />
<asp:HiddenField ID="hiddenUpdated" runat="server" Value='false' />
<asp:TextBox ID="txtLanguage" runat="server" CssClass="jq-translation" Text="" Width="475px"></asp:TextBox></td>
</tr>
</ItemTemplate>
</asp:Repeater>
jQuery的 我用 '名',因爲當HTML返回到瀏覽器的名稱是 'ctl00 $ ContentPlaceHolder1 $ rptTranslations $ ctl00 $ hiddenUpdated' 和ID有額外的文本最後。
$(document).ready(function() {
$('.jq-translation').change(function() {
$(this).closest("[name$='hiddenUpdated']").val("true");
});
});
更新文本框時,隱藏字段的值不會更改。
你用'id * = hiddenUpdated'試過了嗎? – 2014-10-31 16:33:21
最接近DOM樹中的祖先,而不是兄弟姐妹。因此,儘量使用http://api.jquery.com/siblings/ – lshettyl 2014-10-31 16:37:23