hrs*_*ono -1 javascript jquery
我试图使用closest()获得<input>元件,它在不同的股利.这是标记:
<div class="row">
<div class="span8">
<input type="text" disabled="disabled" id="image-name">
</div>
<div class="span4">
<input type="file">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是脚本
$(document).ready(function(){
$("input:file").change(function (){
var fileName = $(this).val();
//Put the file name inside the disabled <input>
$(this).closest('input:disabled').val(fileName);
});
});
Run Code Online (Sandbox Code Playgroud)
它没有做任何事情.我试图改变input:disabled到#image-name,但仍然无法正常工作.
有解决方案吗
谢谢
如果你在另一个INPUT元素上有一个id,你为什么要使用最接近的函数?为什么不只是$('#image-name')?最接近的方法不会像你想象的那样工作.最接近的总是上升到DOM树,直到找到匹配.
基于对我的初始建议的评论,您可以通过使用更奇特的jQuery事件绑定器版本来获得DRY:
function handler(e, args) {
$(e.data.elem).val(fileName);
}
$('input:file').bind('change', { elem: '#image-name' }, handler);
$('#other-input').bind('change', { elem: '#other-field' }, handler);
Run Code Online (Sandbox Code Playgroud)
使用事件数据结构参数化的可重用事件处理程序.
| 归档时间: |
|
| 查看次数: |
930 次 |
| 最近记录: |