0

我有一段调试代码 MyPartialContent.ascx: (从 jquery ajax 调用返回并使用 $("#container").val(html); 插入 DOM;其中 html 是下面的代码块

 <input type"text" id="mydebugtextbox" value="world"/> -- shows a text box on web page with "world"

$("#mydebugtextbox").val("hello"); 
-- Should set value to "hello";

alert($("#mydebugtextbox").val()); 
-- should alert "hello" and it does but 
-- the textbox on the page still shows "world"

这仅在最初加载页面时发生。如果我按 f5 或刷新页面,那么一切都会按预期工作。

我搞不清楚了。

4

3 回答 3

2

jsBin 演示

只需更改
mydegugtextbox

mydebugtextbox

如果您的语法正确,请确保将您的代码包装到一个ready函数中:

$(function(){ // DOM is ready

     $("#mydebugtextbox").val("hello");
     alert($("#mydebugtextbox").val()); 

});

确保您的元素已映射并准备好进行操作

于 2012-11-17T02:16:31.450 回答
1

您确定整个 DOM 页面中只有 1 个具有该 ID 的输入框吗?如果您有 2 个输入框,则只会更新第一个输入框

请参阅此示例, http://jsfiddle.net/fedmich/hMqSq/


上一个答案...

假设没有拼写错误,并且您将代码放在页面加载中

$(function() {  
//code here
});

你确定你没有自动完成输入框的插件吗?你使用的是什么浏览器?

于 2012-11-17T02:20:46.447 回答
0

它不起作用,因为您debug在第一个选择器中拼写错误:

$("#mydegugtextbox").val("hello");
        ^

一旦你修正了那个错字,它就可以正常工作了:http: //jsfiddle.net/NMFEs/1/

于 2012-11-17T02:16:49.900 回答