我们有很多类似的文件上传,但它们都上传到具有不同参数的不同网址。我正在尝试最小化我们的MVC4应用程序中随机javascript的数量。所以我想通过html中的data-参数提供一个保存URL到kendo上传元素:
<input name="file" type="file" class="single-file-upload" data-saveurl="/some/path?entryId=2&productId=33" />
每个实例中的网址都不同。有时我们甚至会在表格中上传,而网址会因参数而异(即productId会有所不同)。
然后在javascript中我正在尝试这个:
<script>
$(document).ready(function () {
$(".single-file-upload").kendoUpload({
multiple: false,
async: {
saveUrl: $(this).data('saveurl'),
autoupload: false
}
});
});
</script>
但这似乎不起作用:$(this).data('saveurl')
数据参数未被拾取..或者更确切地说$(this)
不是我想要的,因此data属性为空,给出了空白的saveUrl属性。
Andy想知道如何访问应用kendoUpload
的对象?或者在html元素上指定通用url的其他一些方法?
P.S。写这篇文章时,注意到这可以用MVVM来完成,但它对于一个简单的事情有太多的黑魔法,并且这可以在同一页面上进行许多(50-100)上传吗?
答案 0 :(得分:3)
您可以手动迭代,以便this
是您正在创建窗口小部件的DOM元素:
$(document).ready(function () {
$(".single-file-upload").each(function () {
$(this).kendoUpload({
multiple: false,
async: {
saveUrl: $(this).data('saveurl'),
autoUpload: false
}
});
});
});