两个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. sql server删除数据时如何进行级联删除

    可以在创建外键约束时直接设置级联删除

  2. .NET面试题(一)

    1.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? foreach (System.Windows.Forms.Control control in this.Contr ...

  3. 基于maven的ssh框架一步一步搭建(一)

    一.新建maven项目,配置ssh框架pom的最低支持 1.新建一个maven项目 2.添加一个web.xml ? 1 2 3 4 5 6 7 8 9 <?xml version="1 ...

  4. [Java Web]Hibernate基础总结(四)

    性能优化 在大数据量遍历时(比如查找消息敏感词),须要手动使用clear方法释放缓存中的数据,防止缓存中数据过多浪费内存. 1+N问题:将Fetch设为LAZY能够在须要时才发出sql语句,或者设置B ...

  5. HDU 4969 Just a Joke(积分)

    HDU 4969 Just a Joke pid=4969" target="_blank" style="">题目链接 推公式,r′=dr/d ...

  6. wxpy学习

    准备工作 安装 pip install -U wxpy -i "https://pypi.doubanio.com/simple/" 通过python脚本来发送消息给好友 from ...

  7. JS高程3:DOM-DOM操作技术

    动态脚本 加载外部脚本 方式一,直接写代码: var script = document.createElement("script"); script.type = " ...

  8. Greatest Number 山东省第一届省赛

    Greatest Number Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Saya likes math, because ...

  9. Redis-ha(sentinel)搭建

    服务器描述:本次搭建是用来测试,所以是在一台服务器上搭建三个redis服务(一主两从) 服务角色 端口 Redis.conf名称 sentinel配置文件名称 sentinel端口 redis日志路径 ...

  10. PHP特性整合(PHP5.X到PHP7.1.x)

    Buid-in web server内置了一个简单的Web服务器 把当前目录作为Root Document只需要这条命令即可: php -S localhost:3300 也可以指定其它路径 php ...