<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的更多相关文章

  1. 如何在Android的ListView中构建CheckBox和RadioButton列表(支持单选和多选的投票项目示例)

    引言 我们在android的APP开发中有时候会碰到提供一个选项列表供用户选择的需求,如在投票类型的项目中,我们提供一些主题给用户选择,每个主题有若干选项,用户对这些主题的选项进行选择,然后提交. 本 ...

  2. php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例

    场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况 这个场景可以使用redis+mysql冷热数据交换来解决. 何为冷热数 ...

  3. 2016 医疗项目 Bootstrap 自适应页面布局(1)

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  4. php与Redis实现一个100万用户的投票项目,如何实现实时查看投票情况?

    好了,什么是冷热数据交换呢? 很土的解释一下,冷数据就是之前使用的数据,有种过去式的感觉,而热数据就是当前的数据,理解为现在进行时吧.如何交换呢?就是将Redis的数据周期存储到mysql中! 整体的 ...

  5. SpringBoot项目bootstrap.yml配置文件不加载

    bootstrap.yml需要引入springcloud的包才会加载 <dependency> <groupId>org.springframework.cloud</g ...

  6. 在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作

    最近把微信框架的前端改造一下,在原来基于Bootstrap框架基础上的微信后台管理,增加一套Vue&Element的前端,毕竟Vue的双向绑定开发起来也还是很方便的,而且Element本身也提 ...

  7. 20个超棒的jQuery bootstrap 插件

    1. Bootstrap File Input Bootstrap3.x 的一个增强版的HTML 5 文件选择控件,可以对图片文件和文本文件进行预览,以及其他功能.该插件增强了这些插件,并且将组件的初 ...

  8. Node.js +Express+MongoDB+mogoose+ejs+bootstrap+jquery

    Node.js + MongoDB 项目实战(二)  创建项目 在项目实战(一)中,已经配置好了开发环境(详见:http://www.cnblogs.com/jameslong/articles/34 ...

  9. appium框架之bootstrap

    (闲来无事,做做测试..)最近弄了弄appium,感觉挺有意思,就深入研究了下. 看小弟这篇文章之前,先了解一下appium的架构,对你理解有好处,推荐下面这篇文章:testerhome appium ...

随机推荐

  1. OpenH264

    转自:http://blog.csdn.net/chinabinlang/article/details/41209053 目前最常用的264工程师x264: 最近有又有一个开源工程OpenH264, ...

  2. 详解一下网络广告cpc、cpm、cpl、cpa、cps、cpr的计费方法是什么

    CPC(Cost per click)按照 广告 点击数 计费 ,限定一个IP在24小时内只能点击一次.CPM(Cost per mille)按照广告显示次数来计算广告费,可在短时间内为 网站 带来巨 ...

  3. 如何对Javascript代码进行二次压缩(混淆)

    如何对Javascript代码进行二次压缩(混淆) 对Javascript代码进行压缩(混淆),可以有效减少传输和加载时间.但是,不是所有的变量(方法)都能被混淆的,一般来说,只有非属性的变量(方法) ...

  4. ps 如何裁切图片成一定的长宽高比例

    1打开一张图片然后点击拆件工具然后在面板上长宽高,按enter键盘,OK拆建完成

  5. CentOS 6.5安装之后的网络配置

    CentOS 6.5安装之后的网络配置 1.查看IP地址,得到只有一个回环地址 127.0.0.1 2.进行网络测试,现在来测试下,看能不能ping通外网www.baidu.com 下面的是,关于pi ...

  6. c#计算datatable中某一列值的和

    double sumPercentage = dt.AsEnumerable().Where(dr => { return dt.Rows.IndexOf(dr) > 0; }).Sum( ...

  7. 曾经让我很吐血的Bug(初学者)

    1.MSSql 就是 sql Server. 2.用session的时候一定要先实现接口IRequiresSessionState: 3.form表单中type=file传送文件的时候一定要在form ...

  8. 更新UI

    //1. this.Invoke(new ThreadStart(delegate { textBox1.AppendText(" + "\r\n"); })); //2 ...

  9. js两种生成对象模式(公有成员和成员私有)

    假设有个需求,创建一个book类,有isbn码,书名,作者 :可以对isbn进行数据完整性校验:--js设计模式 <script type="text/javascript" ...

  10. openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】

    云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 k ...