2014-07-25 149 views
0

我想通过的模糊事件来改变下一个追加表元素的输入元件(.child)的值。主要JQuery的:更改所有儿童元素

HTML:

<input type="text" class="main" value="something"> 
<table> 
    <tr><td>Text</td><td><input type="hidden" class="child" value="anything"></td></tr> 
    <tr><td>Text</td><td><input type="hidden" class="child" value="anything"></td></tr> 
    <tr><td>Text</td><td><input type="hidden" class="child" value="anything"></td></tr> 
</table> 

JS:

$(".main").blur(function() { 
    var content = $(this).val(); 
    $(this).next("table").find(".child").val(content)); 
}); 
+0

制作一个JSFiddle并进一步解释你的意思。它非常不清楚。 –

+0

这就是你需要的:http://api.jquery.com/each/ – melancia

回答

0
$(".main").blur(function() { 
    var content = $(this).val(); 
    $(this).next("table").find(".child").val(content); // Remove ')' here 
}); 

演示之后有一个额外的)

http://jsfiddle.net/k6qCx/

+0

'find'和'each'在这种情况下有什么区别?由于上面MelanicialUK的评论... – user3142695

0

你可以这样做:

$(".main").blur(function() { 
    var val = this.value; 
    $(this).next("table").find("td .child").each(function() { 
     $(this).val(val); 
    }); 
}); 
+0

他的'.child'是一个输入元素 – nickanor

0

试试这个:

$(".main").blur(function() { 
    var content = $(this).val(); 
    $(this).next("table").find(".child").val(content); 
}); 

注:(content)) <--- remove that