我需要使用第二个(动态生成的)div中的值来更新表单的某些输入字段的值。
这是代码
$("#second_update_form_data :input").each(function(index) {
//find all input fields in the second div
var FieldName = $(this).attr("name");
var FieldValue = $(this).val();
//try to get the corresponding field from the original form to change it
var Selector = "#TT_CartForm__form input[name=" + FieldName + "]";
var OriginalFiled = $(Selector);
这不起作用,但我不确定为什么。我可以在原始输入字段中添加一个id并使用它来选择它们,但我更愿意理解错误并使用正确的选择器。
提前致谢, 亲切的问候
编辑: 对不起,我意识到我没有说明哪部分不起作用。 这是最后一行,当我尝试选择使用Selector时,这是最后一个似乎是错误的
答案 0 :(得分:3)
根据您的更新进行更新
var OriginalFiled = $('#TT_CartForm__form input[name="' + FieldName + '"]');
尝试更改引号以确保字符串可读。需要注意的是,只有在指定了!DOCTYPE时,IE7和IE8才支持属性选择器。在IE6中 - 他们不会全部工作
另外仔细检查您的元素ID名称,我注意到它有两个下划线区域,一个区域有两个下划线。确保持有输入的div具有完全相同的id值
答案 1 :(得分:2)
选择器快一点:
$('#second_update_form_data').find('input').each(function(index) {
//find all input fields in the second div
var fieldName = $(this).attr('name'),
fieldValue = $(this).val(),
//try to get the corresponding field from the original form to change it
selector = 'TT_CartForm__form input[name=' + fieldName + ']',
originalFiled = $(selector);
答案 2 :(得分:0)
变化:
$("#second_update_form_data :input")
到
$("#second_update_form_data input")
答案 3 :(得分:0)
您的问题是动态生成的div。你需要使用.on()