Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery更改变量中输入框的值?_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript 如何使用jquery更改变量中输入框的值?

Javascript 如何使用jquery更改变量中输入框的值?,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个变量,包含一个带有输入框的表单,我想使用jquery更改输入框的value属性。到目前为止,我能够更改该值,但它在外部html中没有更改。这是我到目前为止得到的: $("a").click(function(event) { var form_content = "<form><input id=\"name\" value=\"Test value\"/></form>"; var test = $('<div />').

我有一个变量,包含一个带有输入框的表单,我想使用jquery更改输入框的value属性。到目前为止,我能够更改该值,但它在外部html中没有更改。这是我到目前为止得到的:

$("a").click(function(event) {
    var form_content = "<form><input id=\"name\" value=\"Test value\"/></form>";
    var test = $('<div />').html(form_content).find('#name').val('New test value').parent();
    alert(test.find('#name').val());
    alert(test.html());
    return false;
});
$(“a”)。单击(函数(事件){
var form_content=“”;
var test=$('').html(form#content).find('#name').val('New test value').parent();
警报(test.find('#name').val());
警报(test.html());
返回false;
});
亦可于。第一个
警报
显示
“新测试值”
,而第二个
警报
没有显示该新值如何存储的任何提示-基本上它返回的值与原始变量
表单内容
相同

我看了一下,但不明白我做错了什么

有没有人能帮我把这些点连起来,也许能给我一个提示,告诉我如何更改存储在
form\u content
中的html?(关于如何在纯静态html中实现这一点,似乎有很多例子,但不幸的是,这不是我的选择。)谢谢

不要使用.val(“新测试值”),而是使用.attr(“值”,“新测试值”)

$(“a”)。单击(函数(事件){
var form_content=“”;
var test=$('').html(form#content).find('#name').attr('value','New test value').parent();
警报(test.find('#name').attr('value'));
警报(test.html());
返回false;
});

更新您的查询,其工作正常…

只需输入元素的类型即可 试一试



这是因为更新后的值没有复制到值属性中。。它保存在输入元素的value属性中。。当您说html()时,它会获取内部html及其属性,而不是属性当您使用.val()更改value属性时,输入的属性不会更改。输入值将改变,但属性不会改变。选中此项,使用
val
方法设置value属性,如果要更改输入标记的
value
属性,请尝试
attr('val','newtestvalue')
。看到这些有用的评论,谢谢大家!:)感谢@Sam1604提供最完整的解决方案。
$("a").click(function(event) {
    var form_content = "<form><input id=\"name\" value=\"Test value\"/></form>";
    var test = $('<div />').html(form_content).find('#name').attr('value', 'New test value').parent();
    alert(test.find('#name').attr('value'));
    alert(test.html());
    return false;
});
      <input type="hidden" id="name" value="Test value">