投票项目-bootstrap
<script id="src" type="text/tmpl"> //script标签的type写成这个,浏览器会认为他不是javascript脚本,从而不去解析执行里面的内容
<div class="tab-wrap">
<table class="table table-bordered item">
<tbody>
<tr>
<td class="one">选项标题</td>
<td>
<input type="text" class="form-control" name="item-title[]" placeholder="选项标题">
</td>
</tr>
<tr>
<td class="one">选项简介</td>
<td>
<textarea class="form-control validate" rows="3" placeholder="请描述选项的主要内容,文字内容不超过300字" name="item-info[]" data-parent=".form-group" data-valid="maxlength" data-maxlength="300"></textarea>
</td>
</tr>
<tr>
<td class="one">上传图片</td>
<td>
<div class="upload-container clearfix">
<div class="upload-box fileinput-button upload-box">
<div class="upload-icon upload-btn">
<img src="" class="upload-img"/>
</div>
</div>
<input type="file" name="file[]" class="file-img"/>
<button type="button" class="btn btn-info start startUpload">
<i class="glyphicon glyphicon-upload"></i>
<span>开始上传</span>
</button>
</div>
</td>
</tr>
</tbody>
</table>
<div class="remove-wrap">
<button type="button" class="btn btn-warning js-btn-cancel">删除选项</button>
</div>
</div>
</script>
yp.use(['formSubmit'],function(yp) {
yp.ready(function() {
var ui = {
$addBtn: $('#add-btn')
, $body: $('body')
, $addWrap: $('#add-wrap')
, $removeBtn: $('.js-btn-cancel')
, $sendBtn: $('#js-send-btn')
, $src: $('#src')
, $radios: $('.radio input[type=radio]')
};
var oPageConfig = window.oPageConfig;
var oPage = {
init: function() {
this.view();
this.listen();
}
, view: function() {
var self = this;
}
, listen: function() {
var self = this;
/* 添加选项wrap */
ui.$addBtn.on('click', function() {
var $tmpl = $(ui.$src.html());
$tmpl.insertBefore(ui.$addWrap)
});
/* 添加选项wrap end */
/* 删除选项wrap */
ui.$body.on('click', '.js-btn-cancel', function() {
var $this = $(this);
var $parent = $this.closest('.tab-wrap')
$parent.remove();
});
/* 删除选项wrap end */
/* 提交表单 */
$('form').formSubmit({
callback: function(msg) {
if (msg.code == 0) {
bootbox.alert('提交成功!!', function() {});
} else {
bootbox.alert(msg.message);
}
}
});
/* 提交表单 end*/
/* 图片上传前预览 */
ui.$body.on('change', '.file-img', function() {
var $this = $(this)
, $uploadImg = $this.closest('.upload-container').find('img');
var objUrl = self.fGetObjectURL(this.files[0]); //建立一個可存取到該file的url
if (objUrl) {
$uploadImg.attr("src", objUrl) ;
}
});
}
, fGetObjectURL: function(file) {
var self = this;
var url = null;
if (window.createObjectURL!=undefined) { // basic
url = window.createObjectURL(file) ;
} else if (window.URL!=undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file) ;
} else if (window.webkitURL!=undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file) ;
}
return url ;
}
};
oPage.init();
});
});

投票项目-bootstrap的更多相关文章
- 如何在Android的ListView中构建CheckBox和RadioButton列表(支持单选和多选的投票项目示例)
引言 我们在android的APP开发中有时候会碰到提供一个选项列表供用户选择的需求,如在投票类型的项目中,我们提供一些主题给用户选择,每个主题有若干选项,用户对这些主题的选项进行选择,然后提交. 本 ...
- php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例
场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况 这个场景可以使用redis+mysql冷热数据交换来解决. 何为冷热数 ...
- 2016 医疗项目 Bootstrap 自适应页面布局(1)
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- php与Redis实现一个100万用户的投票项目,如何实现实时查看投票情况?
好了,什么是冷热数据交换呢? 很土的解释一下,冷数据就是之前使用的数据,有种过去式的感觉,而热数据就是当前的数据,理解为现在进行时吧.如何交换呢?就是将Redis的数据周期存储到mysql中! 整体的 ...
- SpringBoot项目bootstrap.yml配置文件不加载
bootstrap.yml需要引入springcloud的包才会加载 <dependency> <groupId>org.springframework.cloud</g ...
- 在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作
最近把微信框架的前端改造一下,在原来基于Bootstrap框架基础上的微信后台管理,增加一套Vue&Element的前端,毕竟Vue的双向绑定开发起来也还是很方便的,而且Element本身也提 ...
- 20个超棒的jQuery bootstrap 插件
1. Bootstrap File Input Bootstrap3.x 的一个增强版的HTML 5 文件选择控件,可以对图片文件和文本文件进行预览,以及其他功能.该插件增强了这些插件,并且将组件的初 ...
- Node.js +Express+MongoDB+mogoose+ejs+bootstrap+jquery
Node.js + MongoDB 项目实战(二) 创建项目 在项目实战(一)中,已经配置好了开发环境(详见:http://www.cnblogs.com/jameslong/articles/34 ...
- appium框架之bootstrap
(闲来无事,做做测试..)最近弄了弄appium,感觉挺有意思,就深入研究了下. 看小弟这篇文章之前,先了解一下appium的架构,对你理解有好处,推荐下面这篇文章:testerhome appium ...
随机推荐
- [ios2]蓝牙通信【转】
iPhone开发应用中关于GameKit蓝牙实例讲解是本文要介绍的内容,主要是来了解并学习GameKit蓝牙实例.介绍一下这个实例实现的是两个带有蓝牙设备的touch之间的一个小游戏,在界面上有个可以 ...
- Swift之父Chris Lattner将从Apple离职,加入特斯拉
1月10日,Swift编程语言之父 Chris Lattner 在 swift-evolution 邮件列表中宣布,他将于本月底离开 Apple,Ted Kremenek 将接替他成为 Swi ...
- 蓝桥杯 C语言 基础训练 数列排序
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200 输入格式 第一行为一个整数n. 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000. 输 ...
- Kafka connect快速构建数据ETL通道
摘要: 作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 业余时间调研了一下Kafka connect的配置和使用,记录一些自己的理解和心得,欢迎 ...
- 简述java程序中的main方法
简述main方法: 在java语言程序编写时都会涉及到一个main方法,它的格式为: public static void main(String[] args)(一般必须这么定义,这是java规范) ...
- IOS GCD使用实例大全
GCD是大家在IOS开发过程中经常使用的一种多线程管理机制.原理这里就不多说了,大家关心的大部分都是它的使用,下面主要介绍GCD的主要方法及其实例. 1.认识主队列,感受串行队列的运行,运行结果打印的 ...
- linux-命令-top
top 实时动态显示系统状态.(cpu.内存.swap.task) 1. top 汇总cpu.内存.swap.task信息 和 列表展示进程维度的cpu.内存.swap.task信息 2. to ...
- RelativeLayout各个属性
android:layout_above="@id/xxx" --将控件置于给定ID控件之上 android:layout_below="@id/xxx" ...
- volatile(C# 参考)
本文档已存档,并且将不进行维护. volatile(C# 参考) 若要了解有关 Visual Studio 2017 RC 的最新文档,请参阅 Visual Studio 2017 RC 文档. vo ...
- 有关C语言学习的调查
有关C语言学习的调查 1.Q:你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训? A:之间在暑假的之后自己有买了一本C PRIME PLUS 来看基本 ...