【问题标题】:jquery Clone Radio Select Input Index Array Update - All in one formjquery Clone Radio 选择输入索引数组更新 - 全部在一种形式
【发布时间】:2016-05-30 04:16:22
【问题描述】:

我有一个健身房会员表格,它复制了两个独立的无线电组、许多输入和选择选项,以便尽可能多的用户同时注册。

Radio:

  1. 第 1 组性别两个选项男性/女性
  2. 第 2 组,类型为 3 种会员类型,与每种类型的费用相关联

Select:

  1. 有多个options 用于链接到每个类型的费用

Text Input:

根据需要,没有问题。

问题:

无法在.eq(...) 中获取选中 Radio 的索引以产生影响 以映射方式在每个索引的克隆行上使用选择和费用链接中使用的方式,这些都可以正常工作。

该代码在原始源行上运行良好,但随后它将所有新检查切换到最后一个克隆行。

这是一个 jfiddle 链接:

JSFIDDLE CLONE RADIO SELECT LINK UPDATE

我已经四处寻找解决方案,但没有一个适合解决这种情况。

非常感谢。

【问题讨论】:

  • 有些事情你需要了解。 ids 在页面中必须是唯一的。 $("#male,#female") 将仅选择此类型的第一个项目。接下来是你需要做事件委托来为动态添加的元素绑定事件,比如$(document).('change', "#male,#female", function(){})
  • 使用类选择器代替 id 可能是个好主意。
  • @Rejith R Krishnan,您提到的所有内容都已经过测试。检查代码,您可能会注意到我的 cmets 以了解所有经过测试的可能方法。它们都有唯一的 id 和数组[0] 之类的名称。

标签: jquery select indexing clone radio


【解决方案1】:

好的!

设法做一个解决方法,基本上是一个技巧,通过将.closest('selector').find('input.selector') 组合以将切换消息发送到其本身所属的克隆行来获取父级或容器索引要容易得多。

获取最近的容器,并从每个无线电组、每个无线电组、每个克隆行对它进行更改调度。示例代码如下:

$(document).on('change','input.colors', function() {
        var $parentIndex = $(this).closest('.selector');
        parentIndex.find('input.selector').< DO WHATEVER AFTER >;
});

jQuery 网站上的这篇文章帮助很大。链接如下:

.closest()

希望这可以帮助其他可能有相同要求的人。

【讨论】:

    猜你喜欢
    • 2016-10-17
    • 1970-01-01
    • 2022-08-07
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    相关资源
    最近更新 更多