似乎无法使用它,因为某些原因它不会将newdiv输出到我的asp控件(Label1)id,就像我的标签一样存储变量内容(带有html标签)
即使将其设置为false(使用java / jquery也不是很好),我也会自动发回帖子
<script type="text/javascript">
$(function () {
$(document).ready(function () {
$('button').click(function () {
var x = $('textarea').val();
$('textarea').val('');
var label = $("#<%= Label1.ClientID %>");
var newdiv = $("<div></div>").html(x).attr('id', 'test');
$('#test1').append(newdiv);
var serializer = new XMLSerializer();
label.text(serializer.serializeToString(newdiv));
return false;
});
});
});
</script>
<textarea style="border: 0" cols="77" rows="2">Write Something....</textarea>
<button>Post Message</button>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<div id="test1">
</div>
</asp:Content>
需要弄清楚如何使用我的jquery设置asp控件的Text而不是Label:
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
答案 0 :(得分:2)
你不应该在click事件处理程序中有$(document).ready调用。当你点击按钮时,你所做的只是绑定。
答案 1 :(得分:1)
<script type="text/javascript">
$(document).ready(function () {
$('#<%= myButton.ClientID %>').click(function () {
var x = $('textarea').val();
$('textarea').val('');
var label = $("#<%= Label1.ClientID %>");
var newdiv = $("<div></div>").html(x).attr('id', 'test');
$('#test1').append(newdiv);
var serializer = new XMLSerializer();
label.text(serializer.serializeToString(newdiv));
return false;
});
});
您应该在document.ready上绑定click事件,而不是oposite。首先确保在单击按钮时调用函数。
您想在每次点击按钮时执行此操作吗?我建议你给你的按钮一个id并改变
$("button").click(function () {
到
$('#<%= myButton.ClientID %>').click(function () {
答案 2 :(得分:1)
在这里工作小提琴 - 你的代码有很多错误,但我会坚持开始做大事。然后你可以理清一些小东西。 http://jsfiddle.net/mrtsherman/4BEGs/1/
$('#mybutton').click(function () {
//store text area value
var x = $('#mytextarea').val();
//clear text area
$('#mytextarea').val('');
//enter textarea value into a new div
var newdiv = $("<div></div>").html(x).attr('id', 'test');
$('#test1').append(newdiv);
//Get html of newdiv, including itself
var html = $('<div>').append(newdiv.clone()).remove().html();
//Escape the html of newdiv so that we can display it on the page
escapedhtml = $('<div/>').text(html).html();
//Set label to be new html
$("#mylabel").html(escapedhtml);
});
您的代码最有可能导致回发,因为您的asp标记中有runat =“server”。正如之前的帖子所指出的,如果你不需要,不要使用ASP控件。只需将<input type="button" value="mybutton" />
直接写入您的aspx页面,而不是依赖于asp控件。
您的代码是匿名函数,不需要。您的代码应该在$(document).ready。
中执行优良作法是使用货币符号存储jquery变量,例如var label = $('#label')
,这样您就知道它是一个jQuery对象。 var $label = $('#label')
希望这能让你顺利上路。