【发布时间】:2015-02-05 23:03:06
【问题描述】:
我有这个方法:
$(".btnUpdateOnlineCommunity").click(function () {
var communityDiv = $(this).closest("div");
var communityName = communityDiv.find('.lblOnlineCommunityDescription');
var descriptionName = communityDiv.find('.pOnlineCommunityDetails');
var communityLink = communityDiv.find('.linkOnlineCommunity');
$('.txtCommunityName').val(communityName.val());
$('.txtCommunityDescription').text(descriptionName.val());
$('.txtCommunityLink').val(communityLink.val());
var communityId = $(communityDiv).data("id");
$(".dvCommunityDialog").data("communityId", communityId).dialog("open");
});
txtCommunityName、txtCommunityDescription 和 txtCommunityLink 都是带有 dvCommunityDialog 的控件,这是一个 jQuery 对话框。问题是当对话框打开communityName的值时,descriptionName和communityLink没有出现在控件中,但是当我这样写$('.txtCommunityLink').val('Test');时,我在控件中得到Test,什么是这里有问题吗?
HTML
<p runat="server" id="pInterest">
<asp:Button runat="server" ID="btnAddInterest" CssClass="btnAddCommunity" Text="Add Interest" OnClientClick="return false;" />
<asp:Repeater runat="server" ID="rptOnlineCommunities" OnItemDataBound="rptOnlineCommunities_ItemDataBound">
<HeaderTemplate>
<div id="tblUseCommunities" class="dvOnlineCommunityMain">
</HeaderTemplate>
<ItemTemplate>
<div runat="server" id="dvOnlineCommunity" class="dvOnlineCommunity">
<asp:Label runat="server" ID="lblOnlineCommunityDescription" CssClass="lblOnlineCommunityDescription"></asp:Label>
<p runat="server" id="pOnlineCommunityDetails" class="pOnlineCommunityDetails"></p>
<a runat="server" id="linkOnlineCommunity" class="linkOnlineCommunity" target="_blank"></a>
<p>
<asp:Button runat="server" ID="btnUpdateOnlineCommunity" CssClass="btnUpdateOnlineCommunity" Text="Update" OnClientClick="return false;" />
<asp:Button runat="server" ID="btnDeleteOnlineCommunity" CssClass="btnDeleteOnlineCommunity" Text="Delete" OnClientClick="return false;" />
</p>
</div>
</ItemTemplate>
<AlternatingItemTemplate>
<div runat="server" id="dvOnlineCommunity" class="dvOnlineCommunity">
<asp:Label runat="server" ID="lblOnlineCommunityDescription" CssClass="lblOnlineCommunityDescription"></asp:Label>
<p runat="server" id="pOnlineCommunityDetails" class="pOnlineCommunityDetails"></p>
<a runat="server" id="linkOnlineCommunity" class="linkOnlineCommunity" target="_blank"></a>
<p>
<asp:Button runat="server" ID="btnUpdateOnlineCommunity" CssClass="btnUpdateOnlineCommunity" Text="Update" OnClientClick="return false;" />
<asp:Button runat="server" ID="btnDeleteOnlineCommunity" CssClass="btnDeleteOnlineCommunity" Text="Delete" OnClientClick="return false;" />
</p>
</div>
</AlternatingItemTemplate>
<FooterTemplate>
</div>
</FooterTemplate>
</asp:Repeater>
</p>
<div class="dvCommunityDialog">
<table>
<tbody>
<tr>
<td class="dialogControlLabels">Title/Name:
</td>
<td>
<input type="text" id="txtCommunityName" class="txtCommunityName" />
</td>
</tr>
<tr>
<td class="dialogControlLabels">Description:
</td>
<td>
<textarea id="txtCommunityDescription" class="txtCommunityDescription"></textarea>
</td>
</tr>
<tr>
<td class="dialogControlLabels">Link:
</td>
<td>
<input type="text" id="txtCommunityLink" class="txtCommunityLink" />
</td>
</tr>
</tbody>
</table>
</div>
【问题讨论】:
-
这个问题不是很清楚,但是按照标题,答案很明显,
val()获取具有 value 属性的元素的值,它没有 获取内部文本。 -
向我们展示相关的 HTML 源代码
-
如果@adeneo 是正确的,那么您正在寻找
.text()而不是.val()
标签: javascript jquery asp.net input dialog