У меня есть div. Я передаю HTML-строку этому div, используя INNERHTML в JSON. Div не приходит в выход.
Вот мой код
$('#<%=btnSubmitData.ClientID %>').live('click', function () {
var jsonParameters = '{"startProductLevelId":"' + prdLvlId1 + '"}';
$.ajax({
type: "POST",
url: "../Test/Test.aspx/PopulateData",
context: this,
cache: false,
data: jsonParameters,
contentType: 'application/json',
dataType: "json",
"success": function (LastweeksData) {
$("#brandData").css("display", "block");
alert(LastweeksData.d); //Here i am getting the value
document.getElementById('<%=brandData.ClientID%>').innerHTML = LastweeksData.d;
},
"error": function (request, status, error) {
alert(error);
}
})
});
Мой div - "brandData"
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div id="dummy1" style="width: 100%; height: 20px; float: left">
</div>
<div id="Div2" style="width: 100%; height: 20px; float: right; border-style: solid; border-width: 0px;">
<table id="Table1" align="center" cellspacing="0" border="0" cellpadding="0" width="950">
<tr>
<td width="500" align="left" valign="top">
<div id="brandData" runat="server">
</div>
</td>
</tr>
</table>
</div>
Я тоже так пробовал.
$("#brandData").innerHTML = LastweeksData.d;
Я не могу видеть div на выходе. Я не знаю, где я ошибаюсь.
У вас есть runat="server"
для id brandData
, поэтому вы не можете использовать $("#brandData")
в качестве селектора, поскольку идентификатор изменяется, когда он визуализируется в DOM с предшествующей информацией мастера и страницы. (Например: master_page_ctl100_brandData
)
<div id="brandData" runat="server">
Вместо этого используйте $('[id$=brandData]')
или $('#<%=brandData.ClientID %>')
качестве вашего селектора. Есть еще несколько вариантов.
Полный список о том, как настроить таргетинг на asp.net-элементы управления в jquery, перечислены здесь.
$("#brandData").innerHTML
не будет работать как $("#brandData")
возвращает объект jQuery, а не ссылку на элемент dom, поэтому он не имеет свойства innerHTML
.
Вы можете использовать утилиту .html(), предоставленную jQuery, для установки содержимого html элемента.
Пытаться
$("#brandData").html(LastweeksData.d)