【问题标题】:select input within a div by name按名称选择 div 中的输入
【发布时间】:2012-11-06 17:39:32
【问题描述】:

我需要使用第二个(动态生成的)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 进行选择时,所以最后一行似乎是错误的

【问题讨论】:

  • 哪一部分不行?您是否关闭了每个功能?
  • 是否出现任何错误?也是一个随机的旁注,但不要将Uppercase 用于变量,除非它们是类/可实例化的对象。
  • 感谢有关命名约定的建议。是的,每个函数都关闭了,错误就在这行 var OriginalFiled = $(Selector);如果我删除或评论它一直有效

标签: jquery jquery-selectors css-selectors


【解决方案1】:

根据您的更新更新

var OriginalFiled = $('#TT_CartForm__form input[name="' + FieldName + '"]');

尝试更改您的引用以确保字符串可读取。还有一点要记住,IE7 和 IE8 仅在指定了 !DOCTYPE 时才支持属性选择器。而在 IE6 中,它们不能全部工作

还要仔细检查您的元素 ID 名称,我注意到它有两个下划线区域,一个区域有 2 个下划线。确保保存您输入的 div 具有完全相同的 id 值

【讨论】:

  • 啊哈,很简单但根本看不到! :D 非常感谢您提供更多信息。
【解决方案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);

【讨论】:

    【解决方案3】:

    改变:

    $("#second_update_form_data :input")
    

    $("#second_update_form_data input")
    

    【讨论】:

    • 这不能解决问题,:input 已弃用 jQuery,与 input 相同,只是速度较慢。
    • 不知道这个。万一其他人发现:bugs.jquery.com/ticket/9400 有更多详细信息
    【解决方案4】:

    您的问题是动态生成的 div。你需要使用 .on()

    jQuery.on()

    【讨论】:

    • 你是什么意思?我不需要附加处理程序,我需要选择一个现有字段。
    猜你喜欢
    • 2015-08-15
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 2020-01-19
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多