Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
Jquery 如何为动态创建的输入赋值_Jquery_Dom - Fatal编程技术网

Jquery 如何为动态创建的输入赋值

Jquery 如何为动态创建的输入赋值,jquery,dom,Jquery,Dom,我试图更新一个输入字段的值,该字段是动态创建的DOM的一部分,但没有成功。 有人能告诉我我做错了什么吗。谢谢 HTML <div class="hidden-institution-form hide"> <form class="form-horizontal forms" role="form"> <input type="text" id="code"> </form> </div> JQUER

我试图更新一个输入字段的值,该字段是动态创建的DOM的一部分,但没有成功。 有人能告诉我我做错了什么吗。谢谢

HTML

<div class="hidden-institution-form hide">
    <form class="form-horizontal forms" role="form">
       <input type="text" id="code">
    </form>
</div>

JQUERY

//Create an empty Div and clone the content of .hidden-institution-form in it
var frm = $('<div class="institution-form" id="institution-form"/>').append($(".hidden-institution-form").clone());

//Remove the hide class
$(frm).find(".hidden-institution-form").removeClass("hide");

//Replace .hidden-institution-form with .instutition
$(frm).find(".hidden-institution-form").removeClass("hidden-institution-form").addClass("instutition");

//Locate the input field #code and change it value
$("#institution-form").find("#code").val('some value'); //This does not work
//创建一个空Div并克隆其中.hidden institution form的内容
var frm=$('').append($(“.hidden institution form”).clone();
//删除隐藏类
$(frm).find(“.hidden institution form”).removeClass(“hide”);
//用.instution替换.hidden institution表单
$(frm).find(“.hidden institution form”).removeClass(“hidden institution form”).addClass(“institution”);
//找到输入字段#代码并更改其值
$(“#机构表单”).find(#code”).val('some value')//这行不通
有人能告诉我我做错了什么吗

您没有将创建的元素添加到DOM中

frm
元素只是在本地范围内创建的,而
$(“#机构表单”)
在DOM中搜索元素

有人能告诉我我做错了什么吗

您没有将创建的元素添加到DOM中


frm
元素只是在本地范围内创建的,而
$(“#机构表单”)
在DOM中搜索元素

删除类隐藏机构表单后,只添加类“机构”,因此以下代码应该可以工作:

更新:在一些拼写错误中,您使用的方法已关闭。试试这个:

//Create an empty Div and clone the content of .hidden-institution-form in it

var frm = $('<div class="institution-form" id="institution-form"/>').append($(".hidden-institution-form").clone());

//Remove the hide class
$(".hidden-institution-form").removeClass("hide");

//Replace .hidden-institution-form with .instutition
$(".hidden-institution-form").removeClass("hidden-institution-form").addClass("institution");

//Locate the input field #code and change it value
$(".institution").find("#code").val('some value'); //This does not work
//创建一个空Div并克隆其中.hidden institution form的内容
var frm=$('').append($(“.hidden institution form”).clone();
//删除隐藏类
$(“.hidden institution form”).removeClass(“hide”);
//用.instution替换.hidden institution表单
$(.hidden institution form”).removeClass(“hidden institution form”).addClass(“institution”);
//找到输入字段#代码并更改其值
$(“.institution”).find(#code”).val('some value')//这行不通

jsiddle:

删除类隐藏机构表单后,只添加类“institution”,因此以下代码应该可以工作:

更新:在一些拼写错误中,您使用的方法已关闭。试试这个:

//Create an empty Div and clone the content of .hidden-institution-form in it

var frm = $('<div class="institution-form" id="institution-form"/>').append($(".hidden-institution-form").clone());

//Remove the hide class
$(".hidden-institution-form").removeClass("hide");

//Replace .hidden-institution-form with .instutition
$(".hidden-institution-form").removeClass("hidden-institution-form").addClass("institution");

//Locate the input field #code and change it value
$(".institution").find("#code").val('some value'); //This does not work
//创建一个空Div并克隆其中.hidden institution form的内容
var frm=$('').append($(“.hidden institution form”).clone();
//删除隐藏类
$(“.hidden institution form”).removeClass(“hide”);
//用.instution替换.hidden institution表单
$(.hidden institution form”).removeClass(“hidden institution form”).addClass(“institution”);
//找到输入字段#代码并更改其值
$(“.institution”).find(#code”).val('some value')//这行不通

jsfdle:

主要问题是您没有将新创建的元素添加到dom中。因此,当您执行id选择器
#institution form
时,它将无法找到新元素

我看到的另一个问题是,如果创建此块的多个实例,将有多个id为
institution form
的元素,这将导致在查找正确的元素以设置值时出现问题

因此,在克隆或创建一个元素的多个指令的地方,请使用Calss insted So

<div class="hidden-institution-form hide">
    <form class="form-horizontal forms" role="form">
        <input type="text" class="code"/>
    </form>
</div>

然后

//创建一个空Div并克隆其中.hidden institution form的内容
var frm=$('').append($(“.hidden institution form”).clone();
//删除隐藏类
$frm.find(“.hidden institution form”).removeClass(“hide”);
//用.instution替换.hidden institution表单
$frm.find(“.hidden institution form”).removeClass(“hidden institution form”).addClass(“institution”);
//找到输入字段#代码并更改其值
frm.find(“.code”).val('some value')//这行不通

主要问题是没有将新创建的元素添加到dom中。因此,当您执行id选择器
#institution form
时,它将无法找到新元素

我看到的另一个问题是,如果创建此块的多个实例,将有多个id为
institution form
的元素,这将导致在查找正确的元素以设置值时出现问题

因此,在克隆或创建一个元素的多个指令的地方,请使用Calss insted So

<div class="hidden-institution-form hide">
    <form class="form-horizontal forms" role="form">
        <input type="text" class="code"/>
    </form>
</div>

然后

//创建一个空Div并克隆其中.hidden institution form的内容
var frm=$('').append($(“.hidden institution form”).clone();
//删除隐藏类
$frm.find(“.hidden institution form”).removeClass(“hide”);
//用.instution替换.hidden institution表单
$frm.find(“.hidden institution form”).removeClass(“hidden institution form”).addClass(“institution”);
//找到输入字段#代码并更改其值
frm.find(“.code”).val('some value')//这行不通

“如何为动态创建的输入赋值”-与您对作为初始响应一部分的元素进行赋值的方式完全相同。
查找(#code”)
-因此您有多个具有相同
id的元素。
?顺便问一句,您在哪里将刚创建的元素添加到DOM?你已经创造了它。未添加到DOM中。然后在DOM中找不到它。嗯,它不在那里。我要找的元素代码只是“机构形式元素”的一部分,而不是隐藏的机构形式代码。感谢“如何为动态创建的输入赋值”-与您对作为初始响应一部分的元素进行赋值的方式完全相同。
find(“#code”)
-因此您有多个具有相同
id
的元素。顺便问一句,您在哪里将刚创建的元素添加到DOM?你已经创造了它。未添加到DOM中。然后在DOM中找不到它。嗯,它不在那里。我要找的元素代码是