如何使用jQuery动态更新CSS样式列表
How to dynamically update CSS styled list using jQuery?
我的应用程序要求用户上传一组所需的文档(上载#1,上载#2,上载#3)。用户还可以上传额外的、非必需的文档。
第一次加载页面时,它在一个列表中显示所需的文档集。每个列表项初始设置为class="missing"
。我的目标是这样做,如果用户上传一个所需的文档(一个已经在列表中),它将列表项更改为class="complete"
。但是,如果他们上传非必需的文档(不在列表上的文档),则将该文档附加到列表的末尾。
文件名称通过category
变量从上传表单中传入。
我该怎么做呢?是否有办法检查项目是否已经存在于列表中?
父页面:
function stopUpload(success, category){
if (success == 1){
$('#upload_result').html('<span class="msg">The file was uploaded successfully!<'/span>');
$('#uploads ul:last').append('<li class="complete"><a href="#" target="_blank">' + category + '</a><a href="#" target="_blank" class="delete"><img src="../../media/icons/delete.png"></a><'/li>');
}
else {
$('#upload_result', window.parent.document).html(
'<span class="emsg">There was an error during file upload!<'/span>');
}
$('#upload_progress').hide();
return true;
}
$(document).ready(function() {
$('#imaged_documents_upload').submit( function() {
$('#upload_progress').show();
});
})
父页面HTML:
<div id="uploads">
<ul>
<li class="missing">
<a href="#" target="_blank">Upload #1</a>
<a href="#" target="_blank" class="delete">
<img src="../../media/icons/delete.png">
</a>
</li>
<li class="missing">
<a href="#" target="_blank">Upload #2</a>
<a href="#" target="_blank" class="delete">
<img src="../../media/icons/delete.png">
</a>
</li>
<li class="missing">
<a href="#" target="_blank">Upload #3</a>
<a href="#" target="_blank" class="delete">
<img src="../../media/icons/delete.png">
</a>
</li>
</ul>
IFRAME:
$(document).ready(function() {
parent.stopUpload(<?php echo $result.', '''.$category.''''; ?> );
}
我认为这有你想要的一切。我没有尝试在实际的文件上传器中编写代码,我只是创建了三个按钮来涵盖您的三个用例。
- 用户上传所需文件
- 用户上传不需要的文件
- 用户上传不良文件
我使用title属性来存储所需文件的名称,并将其与类别变量进行比较。
http://jsfiddle.net/xg9F6/4/if (success == 1) {
//file was successfully uploaded
$('#upload_result')
.html('The file was uploaded successfully!')
.removeClass()
.addClass('success');
var elem = $('#uploads li[title="' + category + '"]');
//check if this was a required element
if ($(elem).length > 0) {
$(elem).each( function() {
$(this).removeClass().addClass('complete');
});
}
else {
elem = $('#uploads li:last').clone();
$('#uploads ul').append(elem);
}
$(elem).append('<span>' + category + '</span>');
}
相关文章:
- 如果文本字段为空,则使用JavaScript应用CSS样式
- FF和Chromium中CSS样式按钮的外观差异
- CSS样式属性留空
- CKeditor预览插件.js,为Chrome和IE进行编辑.因为它拒绝CSS样式
- 基于路由的CSS样式-Angular2
- 为未标记的文本添加CSS样式
- 使用JQuery将现有CSS样式扩展%-%
- JavaScript-在keyDown上切换css样式
- React js应用程序's在托管应用程序中打开时将覆盖css样式
- 如何在javascript中更改段落中不同行的css样式
- 通过javascript设置IE特定的css样式
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 使用javascript/jquery检查.css样式表的名称
- JavaScript和CSS样式不适用于我的“;谷歌网站”;页
- 未使用jQuery验证器选中Css样式复选框时
- javascript正则表达式,用于编辑元素内部的css样式属性
- css样式加载+id.例如加载1、加载300
- 无法在运行时将CSS样式添加到元素中
- d3js 通过其 CSS 样式选择所有元素
- 如何根据浏览器宽度动态调整 css 样式表