两个select选项,第一个选项可以选1-9之间的数字,第二个选项可以选0到9之间的数字,要满足成人和儿童的总和不大于9,且一个成人最多带两名儿童

<div>

     <span>成人:</span>
<select id="AdultNum">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select> <span>儿童:</span>
<select id="ChildNum">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select> </div>

当大于9或儿童大于成人的2倍的时候出现提示文案

//儿童和成人总数不超过9,且1名成人至多带2名儿童

$('#AdultNum').change(function () {
var adultnum = $(this).val();
PassengerNum(adultnum, '#ChildNum');
}); $('#ChildNum').change(function () {
var childnum = $(this).val();
PassengerNum1(childnum, '#AdultNum');
}); var a_num = $('#AdultNum').val();
PassengerNum(a_num, '#ChildNum'); var c_num = $('#ChildNum').val();
PassengerNum(c_num, '#AdultNum'); function PassengerNum(num, id) {
$(id).change(function () {
var cnum = $(this).val();
var sum = parseInt(num) + parseInt(cnum);
var par = parseInt(num) * 2;
if (sum > 9) {
$('.psnum-waring').show();
$('.psnum-waring').html('乘客总数不多于9人');
} else if (cnum > par) {
$('.psnum-waring').show();
$('.psnum-waring').html('每名成人最多可携带2名儿童');
} else {
$('.psnum-waring').hide();
} });
} function PassengerNum1(num, id) {
$(id).change(function () {
var cnum = $(this).val();
var sum = parseInt(num) + parseInt(cnum);
var par = parseInt(cnum) * 2;
if (sum > 9) {
$('.psnum-waring').show();
$('.psnum-waring').html('乘客总数不多于9人');
} else if (num > par) {
$('.psnum-waring').show();
$('.psnum-waring').html('每名成人最多可携带2名儿童');
} else {
$('.psnum-waring').hide();
} });
}

这种写法太麻烦,优化js

var interTicketO = {}

interTicketO._PassengerNum=function(id1,id2) {
var adultNum = Number($(id1).val());
var childNum = Number($(id2).val());
var html1 = '<span class="icon-waring"></span>乘客总数(不含婴儿)多于9人。';
var html2 = '<span class="icon-waring"></span> 每名成人最多可携带2名儿童,暂不支持婴儿票在线预定。'; $('.psnum-waring').hide(); if ((adultNum + childNum) > 9) {
$('.psnum-waring').show();
$('.psnum-waring').html(html1);
return;
}
if ((adultNum * 2) < childNum) {
$('.psnum-waring').show();
$('.psnum-waring').html(html2);
}
}

动态获取selected的value值的更多相关文章

  1. IOS开发之动态获取模型的属性值

    #import "model.h" #import <objc/runtime.h> @implementation model +(instancetype)mode ...

  2. 安卓Android控件ListView获取item中EditText值

    可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写Ba ...

  3. js中使用控件名和数组下标方式获取控件的值时失败

    在做界面展示时涉及到表单行项目的增加和删除时,我们一帮都使用js的脚本实现表单行的增加和删除,那么在进行表单的提交的时我们会再页面上进行提交数据的初步校验,进行数据的初步校验时,就要动态获取控件的值. ...

  4. Android控件ListView获取item中EditText值

    能够明白,如今没有直接方法能够获得ListView中每一行EditText的值. 解决方式:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写Ba ...

  5. Ajax 学习之动态获取,返回服务器的值

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. c# winform动态生成控件与获取动态控件输入的值

    差不多有2年没有写winform程序,一直都是写bs.最近项目需要,又开始着手写一个小功能的winform程序,需要动态获取xml文件的节点个数,生成跟节点个数一样的textbox, 最后还要获取操作 ...

  7. WebDriver获取table的内容(通过动态获取Table单元格的TagName对其innerHTML值进行获取)

    import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedHashMap;import java.util ...

  8. c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值

    using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Linq;using System.T ...

  9. js获取不到动态添加的标签的值的解决方法

    遇到了js无法获得动态添加的标签的值,百度了一番,最后自己解决了问题,但是原理现在还不怎么明确. $("input[id='txtAttValue']").each(functio ...

随机推荐

  1. Js日常笔记之变量删除

    在Javascript是可以使用delete来手动删除变量,通过这样的方法让GC来回收内存,但在JS中并不是所有的对象都可以被删除的 JS中通过 var\function 声明因含有DontDelet ...

  2. 自制MVC框架的插件与拦截器基础

    上篇谈到我自己写的MVC框架,接下来讲讲插件及拦截器! 在处理一些通用的逻辑最好把它封装一个插件或者拦截器,以便日后可以直接拿过来直接使用.在我的框架中可以通过继承以下抽象类来实现插件或者拦截器. 1 ...

  3. html5-本地数据库的操作

    <script src="jquery-1.8.3.js"></script><script>/* IE11不支持此操作创建数据库 解释一下op ...

  4. zookeeper(一):功能和原理

    简介 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现.分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅.负载均衡.命名服务.分 ...

  5. Atitit.使用引擎加脚本架构的设计 使用php,js来开发桌面程序。。

    Atitit.使用引擎加脚本架构的设计 使用php,js来开发桌面程序.. 1. 引擎加脚本架构 跨平台,桌面与web的优势1 2. 架构桌面引擎(java,c#)2 3. php桌面引擎要点2 3. ...

  6. Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

    原文链接:Docker使用Dockerfile创建支持ssh服务自启动的容器镜像 1. 首先创建一个Dockerfile文件.文件内容例如以下 # 选择一个已有的os镜像作为基础 FROM cento ...

  7. C# 版 防止 DNS 污染,获取域名真实 IP 地址

    using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Net. ...

  8. [android] 本地推送服务

    遇到新需求:游戏要添加本地的推送功能,ios比较好搞,在应用退出时的系统回调中设置,android就稍稍麻烦一点,需要用到 android中的service,和receiver

  9. VS2015调用Matlab2017a环境配置(转载)

    VS2015调用Matlab2017a环境配置 一定要在Debug+x64平台下进行配置,x64,x64,x64!!!* 1.配置环境变量 右键计算机—–>属性——>高级系统设置——> ...

  10. CSS3自定义滚动条样式 -webkit-scrollbar (一)

    Webkit支持拥有overflow属性的区域,列表框,下拉菜单,textarea的滚动条自定义样式.当然,兼容所有浏览器的滚动条样式目前是不存在的. 滚动条的组成: ::-webkit-scroll ...