C# 文本框上的jquery val()不';t设置DOM值属性
我面临一个奇怪的问题,不确定是jquery还是我的场景组合导致了这一问题。当我使用jquery设置textbox值时,textbox显示正确的值,但是html中的value属性仍然是它加载时使用的属性。为什么它显示的文本与DOM中的不同 我有一个动态生成的表单,它添加了两个数字,并使用jquery将添加内容显示到第三个文本框中,如下所示。 您可以使用下面的代码进行复制 设计器文件C# 文本框上的jquery val()不';t设置DOM值属性,c#,javascript,jquery,.net,asp.net,C#,Javascript,Jquery,.net,Asp.net,我面临一个奇怪的问题,不确定是jquery还是我的场景组合导致了这一问题。当我使用jquery设置textbox值时,textbox显示正确的值,但是html中的value属性仍然是它加载时使用的属性。为什么它显示的文本与DOM中的不同 我有一个动态生成的表单,它添加了两个数字,并使用jquery将添加内容显示到第三个文本框中,如下所示。 您可以使用下面的代码进行复制 设计器文件 <asp:Content ID="Content2" ContentPlaceHolderID="MainCo
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$(".addToTotal").blur(function () {
UpdateTotal();
});
});
function UpdateTotal() {
var add = 0;
$(".addToTotal").each(function () {
add += Number($(this).val());
});
$(".txtTotalPoints").val(add.toFixed(2));
$("#para").text("Sum of all textboxes is : " + add);
}
</script>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<input id="addAll" type="button" value="Sum all Textboxes" /><br />
<p id="para"> </p>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
这就是应该发生的事情:dom是动态的,但是当您查看页面源代码时,浏览器将显示原始html。(当然,这取决于您使用的浏览器,每个浏览器都不同)您也可以使用
$(selector).attr("value","Hello World.");
铬和FF都会发生这种情况。我还没有试过。一般来说,我对javascript没有太多的了解,但我认为jquery也应该更新value=”“属性。我遗漏了什么吗?我应该如何更新dom值?更改后的值保存在内存中,并在提交表单(和/或使用javascript检查时返回)时提交到服务器-浏览器只显示从服务器加载的原始值,但无需担心。如果您希望在查看源代码时该值以不同的方式显示,则需要从服务器发送不同的值(但您不需要这样做,它没有特别的好处)酷,这意味着这是默认行为,对吗?但是,当我在回发时从代码隐藏中获取textbox文本值时,它仍然显示原始值,而不是更新后的值。所以我认为浏览器应该更新它。无论如何,谢谢你的帮助,我会找出我原来项目中代码背后的问题所在
$(selector).attr("value","Hello World.");