好的伙计,
基本上我需要更改输入的值(在这种情况下是上传按钮)在上传开始后完成等等,你可以在我的代码中看到。问题是在页面上可能存在许多这些字段(在其用途的上下文中有意义),所以我必须使用$(this)所以只有点击的元素(例如#up)才能获得调用回来改变。我似乎无法弄清楚这一点。
非常感谢帮助。
我正在使用此插件http://valums.com/ajax-upload/来执行此操作并继承我的代码:
new AjaxUpload('#up', {
name:'uploadedfile',
action: 'image-upload.php',
onSubmit: function(file, extension) {
$(this).val("uploading...");
},
onComplete: function(file, response){
$(this).val(response).removeClass('unactive');
}
});
谢谢!
答案 0 :(得分:0)
解决方法:
var up = $("#up");
new AjaxUpload(up, {
...
onSubmit: function(file, ext) {
up.val("uploading...");
},
...
});
使用作用域和闭包的工作方式,您可以查找up
的链。这也会缓存你的选择器。
这种事情是that = this
或self = this