JS开发页面小组件:table组件

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        table{
            border: solid 1px black;
        }
        #container td{
            border: solid 1px black;
        }
    </style>
</head>
<body>
<form>
    <table>
        <tr>
            <td><label for="width">宽:</label></td>
            <td><input type="number" id="width" min="1" max="500" ></td>
        </tr>
        <tr>
            <td><label for="height">高:</label></td>
            <td><input type="number" id="height" min="1" max="500" step="1"></td>
        </tr>
        <tr>
            <td><label for="row">行:</label></td>
            <td><input type="number" id="row" min="1" max="10" step="1"></td>
        </tr>
        <tr>
            <td><label for="col">列:</label></td>
            <td><input type="number" id="col" min="1" max="10" step="1"></td>
        </tr>
        <tr>
            <td><label for="radio-btn">单选按钮:</label></td>
            <td><input type="checkbox" id="radio-btn"></td>
        </tr>
        <tr>
            <td><input type="button" id="submit" value="提交"></td>
        </tr>
    </table>
</form>
<div id="container"></div>
<script>
    (function (){
//        事件响应兼容浏览器差异
        function addEvent(ele,type,func){
            if(ele.addEventListener){
                ele.addEventListener(type,func);
            }else if(ele.attachEvent){
                ele.attachEvent("on"+type,func);
            }else {
                ele["on"+type]=func;
            }
        }
        function $(id){
            return document.getElementById(id);
        }
        var widthInput=$(‘width‘);
        var rowInput=$(‘row‘);
        var colInput=$(‘col‘);
        var heightInput=$(‘height‘);
        var radioInput=$(‘radio-btn‘);
        var submit=$(‘submit‘);
        var container=$(‘container‘);
        addEvent(submit,‘click‘,addTable);
        var arr=[‘ 宽度请输入1到500之间的数字‘,‘高度请输入1到500之间的数字‘,‘行数请输入1到10之间的数字‘,
            ‘列数请输入1到10之间的数字‘];

        function addTable(){
            var width=parseInt(getWidth());
            var height=parseInt(getHeight());
            var row=parseInt(getRow());
            var col=parseInt(getCol());
            var radio=getRadio();
            if(isNaN(width)||width<1||width>500){alert(arr[0]);return;}
            if(isNaN(height)||height<1||height>500){alert(arr[1]);return;}
            if(isNaN(row)||row<1||row>10){alert(arr[2]);return;}
            if(isNaN(col)||col<1||col>10){alert(arr[3]);return;}

            var res="<table width=‘"+width+"px‘ height=‘"+height+"px‘>"+addTableCol(row,col,radio)+"</table>";
            container.innerHTML=res;

        }
        //添加列
        function addTableCol(row,col,radio){
            var res="";
            for(var i=0;i<col;i++){
                res+="<tr>"+addTableRow(row,radio)+"</tr>"
            }
            console.log(2,res);
            return res;
        }
        //添加行
        function addTableRow(row,radio) {
            var res="";
            if(radio){
                res+="<td><input type=‘radio‘></td>"
            }
            for(var i=0;i<row;i++){
                res+="<td>1</td>";
            }
            console.log(3,res);
            return res;
        }

        function getWidth(){
            return widthInput.value.trim();
        }
        function getHeight(){
            return heightInput.value.trim();
        }
        function getRow(){
            return rowInput.value.trim();
        }
        function getCol(){
            return colInput.value.trim();
        }
        function getRadio(){
            return radioInput.checked;
        }
    })();
</script>
</body>
</html>
时间: 2024-08-01 20:03:08

JS开发页面小组件:table组件的相关文章

MPVUE - 使用vue.js开发微信小程序

MPVUE - 使用vue.js开发微信小程序 什么是mpvue? mpvue 是美团点评前端团队开源的一款使用 Vue.js 开发微信小程序的前端框架.框架提供了完整的 Vue.js 开发体验,开发者编写 Vue.js 代码,mpvue 将其解析转换为小程序并确保其正确运行. 简单上手mpvue 官方提供了一套quickstart模板. vue init mpvue/mpvue-quickstart my-project 安装好依赖之后,执行npm run dev,将会将小程序文件打包进dis

基于jq, jquery.easie.js 开发面向对象通栏焦点图组件

<!--banner begin--> <div class="banner min_width" id="one" style=""> <span class="foucL fouc"></span> <ul> <li style="background: url(./images/banner.jpg) no-repeat center top;

《Node入门》读书笔记——用Node.js开发一个小应用

如需转载请注明出处 http://blog.csdn.net/as645788 Android APP的开发告一段落,一个稳定的.实现了基本功能的APP已经交付用户使用了!我和老板交流了下,接下来准备转战Node.js了,而且一部分前端的功能也要做进去!哈哈哈~~~接下来要朝一个全(zuo)栈(si)工程师进发了,想想都有点小激动呢!这几天一直在学新东西,HTML CSS JavaScript jQuery SQL bootstrap Node.js ··········· (好吧,看着这么多前

关于js开发的小问题

一.开发当中经常会动态拼接html,当然为了简便性好多人直接就是使用内联事件: $('#td1').html( '<a href="#" onclick="app.showPostEdit('+aData+')"></a>'); $.Test = { GetData: function () { $.post("/Home/GetData", function (backdata) { var strHtml = &quo

微信小程序简易table组件实现

前提:微信小程序自1.6.3基础库版本库开始支持简洁组件,之前的版本因不支持,故在引用组件处默认为空节点.关于微信小程序已有模板为何还需构建组件?一是因为组件可以更方便的自定义并绑定行为,二是在其他页面引用时,无需通过import,只需在该页面json文件下配置usingComponents属性即可.(原本想在app.json文件里配置这个属性,从此一劳永逸,但目前貌似还不支持,至少我尝试的时候还不行-.-) 思路:主要是将table的head和tbody部分的数据抽象出来,使之只需要传值就可直

从零开发一款自己的小程序UI组件库(二)

写在前面:从零开发一款自己的小程序UI组件库(一) 上节我们讲到初始化组件库模板.模板文件概述.模板上传npm以及npm包文件下载至本地并运用到项目.这节我们继续,内容主要有基础UI组件库的搭建(button组件的实例)以及如何在本地使用npm link调试npm包项目. 本节所用到的物料:mineui-weapp组件库v1.1.weapp-for-mineui程序v1.1 1.开发基础组件button 我们上节有提到,要开发组件库的话,需要在官方单组件模板的基础上,①修改tools目录下的co

微信小程序image组件binderror使用例子(对应html、js中的onerror)

官方文档  binderror HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong'} 在微信小程序开发中,我们使用列表包含图片,如果这个图片链接404错误,那么我们应该给它提供一个默认的友好URL地址.html和js中使用onerror事件就可以了 <img src="image.gif" onerror="this.src='https:w.chesu

微信小程序image组件开发程序以及相关图片问题参考资料汇总

微信小程序image组件开发程序以及相关图片问题参考资料汇总,希望对大家小程序开发能有一定的参考和借鉴价值.以下汇总主要涉及到微信小程序image组件有关资源路径.缩放和剪裁模式等进行的探讨,无论是对微信小程序新手还是正在开发中的朋友都是很好的小程序学习资料. 微信小程序image组件必备基础知识: image组件默认宽度300px.高度225px image的属性mode有13种模式,其中4种是缩放模式,9种是裁剪模式 image组件开发教程汇总: 微信小程序自定义组件实现图片单指拖动.双指缩

微信小程序倒计时组件开发

今天给大家带来微信小程序倒计时组件具体开发步骤: 先来看下最终效果: git源:http://git.oschina.net/dotton/CountDown 分步骤-性子急的朋友,可以直接看最后那段代码. wxml文件放个text <text>second: {{second}} micro second:{{micro_second}}</text> 在js文件中调用 function countdown(that) {  var second = that.data.seco