数值选择器之mobiscroll的免费使用

首先上最终效果图:

     一款界面看似简单的mobiscroll选择器,官网是需要收费的,网罗周遭资料和自己研究修改js源文件得到,在此提供所需的两个文件,自行根据需求修改,不需要任何费用,当然jquery文件就自行下载了,链接:https://pan.baidu.com/s/1-Fnhn6Fz-HuMc1ltAu1wIA 密码:383b。

  忘了说还需要前端代码配合调用,贴一版:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0" />
		<meta name="apple-mobile-web-app-capable" content="yes" />
		<meta name="apple-mobile-web-app-status-bar-style" content="black" />

		<title>兼容PC和移动设备</title>
	</head>
	<link rel="stylesheet" type="text/css" href="mobiscroll-2.13.2.full.min.css" />
	<!--此处ul为选择范围容器,存放选择内容-->
	<ul id="sex-list" style="display: none">
	</ul>

	<body>
		<li id="sex">
			<div class="mbase-menu-title">数字选择</div>
		</li>
		<script src="js/jquery.min.js"></script>
		<script src="mobiscroll-2.13.2.full.min.js"></script>
		<script type="text/javascript">
			
			function addnum() {
				for(var i = 1; i < 100; i++) {
					$("#sex-list").append(" <li>" + i + "</li>");
				}
			};
			$(function() {
				addnum();
				$("#sex").click(function() {
					var that = this;
					$("#sex-list").mobiscroll().treelist({
						theme: "android-ics",
						lang: "zh",
						display: 'bottom',
						inputClass: 'tmp',
						headerText: '总数量',
						onSelect: function(valueText) {
							var m = $(this).find("li").eq(valueText).html();
						}
					});
					$("input[id^=sex-list]").focus();
				});
			})
		</script>
		<center>
		</center>
	</body>

</html>

这是测试的时候写的,而在项目上面我则是把数值存放容器和触发事件用一个控件:

<input class="input_text" style="" id="zsl" type="text" name="title" onkeyup="value=value.replace(/[^\d]/g,'')" value="1" />

当然,前端js代码就相应修改:

$(function () {
    addnum();
    //总数量的选择
    $("#zsl").click(function () {
       
        var that = this;
        $("#zsl").mobiscroll().treelist({
            theme: "android-ics",
            lang: "zh",
            display: 'bottom',
            inputClass: 'input_text',
            headerText: '总数量',
            onSelect: function (valueText) {
                var m = $(this).find("li").eq(valueText).html();
            }
        });
        $("input[id^=zsl]").focus();
        //$("#zsl_dummy").css("border", "1px solid red");
    });
    AddClick();
  

});

    我说一下这西洋插件的原理:在前端界面显示你所写的触发控件,在click之时他的源js会隐藏你写的控件,自动生成一个input控件,选择的内容会存放显示在新生成的控件上面,如果你要取出input值,它的ID命名规则就是:你自己写的控件的ID值+"_dummy",比如我上面自己写的控件input的ID值为zsl,那我如果要取出我所选择的数值,我就要用$("#zsl_dummy").val()才能取出,如果要修改input显示的默认值,除了在自己写的控件上默认值外,还需要为新生成的控件默认,那就需要在mobiscroll源js文件修改了,我已经做了标记,你可以在js代码里搜索以下文本:

  //此处设置新增input的默认属性--tim--2018/09/10
			return a("#" + x).remove(), s.showInput && (p = a('<input type="text" id="' + x + '" value="'+((x.indexOf("shul1")>-1)?1:0)+'" class="' + s.inputClass + '" placeholder="' + (s.placeholder || "") + '" readonly />').insertBefore(w), s.anchor = p, c.attachShow(p)), s.wheelArray || w.hide().closest(".ui-field-contain").trigger("create"), {

也可以搜索“_dummy”文本,只有两处,自行查看就应该找得到。

然后控件样式的话就自己到源css文件改咯,相信对于我们这些天朝精英来说肯定没什么难度。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝色黄昏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值