我只是在学习jQuery,我很高兴.
看,我们有2个div如下:
<div id="div1">
<ul>
<li> This is Line 1</li>
<li> This is Line 2</li>
<li> This is Line 3</li>
<li> This is Line 4</li>
<li> This is Line 5</li>
</ul>
</div>
<div id="div2">
<ul>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
因为我只是学习change()函数,这就是我想要做的事情:当div2中输入框的每个值发生变化时,相同数字的div1 li应该更改为输入的值,例如,如果我们开始输入在div2的第二个输入框中,第二个li文本应该是我们在第二个输入框中输入的内容.
这是我到目前为止所尝试的,但没有奏效:
<script type="text/javascript">
$(document).ready(function(){
$('#div2 :input').change(function(i){
var str = $(this).text;
$('#div1 li').eq(i).text(str);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这有什么问题?提前致谢
传递给change()函数的参数不是索引.这是一个event对象.你需要自己获取索引index().
此外,text()这里是错误的方法,您需要使用val()来获取输入的值.
$('#div2 :input').change(function() {
var str = $(this).val(), // You need to use `val` to get the value (also, note the "()" here)
index = $(this).parent().index(); // this gets the index of the input
$('#div1 li').eq(index).text(str);
});?
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/skram/UJBCr/1/
| 归档时间: |
|
| 查看次数: |
10979 次 |
| 最近记录: |