投票项目-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 ...
随机推荐
- C++11多线程std::thread的简单使用
在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上.但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有 ...
- ListView的局部刷新
有的列表可能notifyDataSetChanged()代价有点高,最好能局部刷新. 局部刷新的重点是,找到要更新的那项的View,然后再根据业务逻辑更新数据即可. private void upda ...
- 命令行启动Hololens Emulator,可解决内存不足的问题
有时候在虚拟机测试时常会出现 内存不足 的情况,导致应用卡顿,调整 /memsize 参数大小: start "HoloLens" "C:\Program Files ( ...
- 面试题-JDBC
1.什么是JDBC? JDBC是允许用户在不同数据库之间做选择的一个抽象层.JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节. 2.解释下驱动(Driver)在JDBC中 ...
- myeclipse启动服务器时,tomcat出错问题
启动服务器,错误提示: Launching web on myeclipse tomcat has encountered a problem An internal error occurred d ...
- 【3】Chrome 的一些常用操作
记录一些 Chrome 的常用操作 1. 让页面可以编辑 1). 在 控制台 输入 document.designMode = 'on'; 链接地址>>
- linux for 使用
第一种:命令使用方法 例子1: cat test.txt 1 2 3 for i in $(cat test.txt) do echo $i done 例子2: for i in 1 2 3 4 do ...
- java 生成二维码
package com.sun.erwei; import java.awt.Graphics2D;import java.awt.geom.AffineTransform;import java.a ...
- 浙大pat1009题解
1009. Product of Polynomials (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
- UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版
软件名称:UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版软件类别:汉化软件运行环境:Windows软件语言:简体中文授权方式:免费版软件大小:3.25 MB软件等级:整理时 ...