通过兄弟姐妹的孩子课程进行迭代

时间:2014-07-18 23:41:27

标签: javascript jquery html

我正在试图弄清楚如何在div内的onclick事件上迭代一个div中的元素,而不用迭代迭代另一个div。

我之前的Javascript方法

$(document).on('click', '.ddSubmit', function() { 
     $("input[name*='ddText']").each(function() {
         $("select[name*='ddFinal']").append('<option>'+$(this).val()+'</option>');
     });
});

上一个例子中的问题是,如果我在单独的div中有输入字段,它将迭代所有div中的每个输入字段

我当前的Javascript方法:

$(document).on('click', '.ddSubmit', function() { 
    $(this).next('.ddP').children('.ddText').each(function() {
        $("select[name*='ddFinal']").append('<option>'+$(this).val()+'</option>');
    });   
});

这是我提出的解决方案,但它不会附加到选择元素我是以错误的方式进行此操作,还是我缺少的东西

编辑:这是我正在研究http://jsfiddle.net/me74Z/20/

的小提琴

2 个答案:

答案 0 :(得分:0)

使用第一种方法关闭,只需使用保留的this实例,您就可以全部设置:

$(document).on('click', '.ddSubmit', function() {
     var that = this;
     $("input[name*='ddText']", that).each(function() {
         $("select[name*='ddFinal']", that).append('<option>'+this.value+'</option>');
     });
});

答案 1 :(得分:0)

这是我在讨论了一段时间之后提出的问题的解决方案

$(this).parent().find('>p.ddP>input[name="ddText"]').each(function() {
    $("select[name*='ddFinal']").append('<option>'+$(this).val()+'</option>');
});     

我在调试器中浏览了父div并跟踪了输入文本元素的路径