使用jquery的trigger方法优化页面代码

时间:2022-11-13 15:42:57

我们做页面级联的时候经常会用到ajax处理数据,会为下拉菜单编写change事件。

    //城市和区域联动
$("#City").change(function () {
var cityValue = $("#City").val();
if (cityValue == -1) {
return;
}
$.ajax({
url: "/BI/GetAreaInfo",
type: "GET",
data: { Id: cityValue },
timeout: 5000,
async: false,
dataType: "json",
success: function (result) {
$("#Area").empty();
$("#Area").append("<option value='-1'>请选择区域</option>");
for (var i = 0; i < result.AreaInfo.length; i++) {
$("<option value='" + result.AreaInfo[i].ID + "'>" + result.AreaInfo[i].Name + "</option>").appendTo('#Area');
}
}
});
});
做编辑功能的时候,如果涉及到级联信息,我们会在绑定数据的时候给下拉框赋值:(下面代码一般都放在页尾部)

<input type="hidden" value="@Model.AreaId" id="hdAreaID" />
<input type="hidden" value="@Model.CityId" id="hdCityID" />

<script type="text/javascript">

var areaId = $("#hdAreaID").val();
var cityId = $("#hdCityID").val();

$("#City").val(cityId);
$.ajax({
  url: "/BI/GetAreaInfo",
  type: "GET",
  data: { Id: cityId },
  timeout: 5000,
  async: false,
  dataType: "json",
  success: function (result) {
    $("#Area").empty();
    $("#Area").append("<option value='-1'>请选择区域</option>");
    for (var i = 0; i < result.AreaInfo.length; i++) {
      $("<option value='" + result.AreaInfo[i].ID + "'>" + result.AreaInfo[i].Name + "</option>").appendTo('#Area');
    }
    $("#Area").val(areaId);
  }
});

</script>

那么问题来了,重复的代码量很多了吧,这个时候我们可以用jquery的trigger方法,模拟自动触发,即可达到同样效果。

$(function () {
  $("#City").val("@Model.CityId");
  $("#City").trigger("change", "@Model.CityId");
  $("#Area").val("@Model.AreaId");
  $("#Area").trigger("change", "@Model.AreaId");
});

代码精简不少哈。

使用jquery的trigger方法优化页面代码的更多相关文章

  1. YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法

    上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...

  2. jQuery 事件 - trigger&lpar;&rpar; 方法 和 triggerHandler&lpar;&rpar; 方法

    trigger() 方法触发被选元素的指定事件类型. triggerHandler() 方法触发被选元素的指定事件类型.但不会执行浏览器默认动作,也不会产生事件冒泡. triggerHandler() ...

  3. 使用jQuery中trigger&lpar;&rpar;方法自动触发事件

    一.常用事件 在页面加载完成时  自动触发input的点击事件,在移动端可以实现自动弹出输入法,获得焦点 $("input").trigger("click") ...

  4. jQuery 事件 - trigger&lpar;&rpar; 方法

    <html> <head> <script type="text/javascript" src="/jquery/jquery.js&qu ...

  5. jQuery的css&lpar;&rpar;方法

    jQuery的css()方法下面的代码可以为div一次性设置多个样式属性<!DOCTYPE html><html><head><meta charset=&q ...

  6. 关于jquery的serialize方法转换空格为&plus;号的解决方法

    jquery的 serialize()方法,可以对表单项进行序列化,这本来是很方便的一个功能:但是实际使用中去发现了如下问题:例如:< textarea name="content&q ...

  7. 大型网站性能优化&lpar;页面&lpar;HTML&rpar;优化的方法&rpar;

    页面(HTML)优化的方法 除了语言层面上进行优化外,对Web开发,HTML的优化将很大程度上减轻服务器的负载,提高网站的性能 1). 减少HTTP请求数.打开网页,浏览器会发出很多请求,图片,脚本, ...

  8. 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题

    一.问题分析 对于后台系统,相比大家都有所印象,知道其中的布局结构,如图: 在这种布局中我们需要将header,sidebar,footer分开,而且对于中间部分的content内容需要动态变化,即根 ...

  9. 使用JS方法使页面滚动到指定元素&plus;优化&plus;API介绍(动画)

    前言 当页面最上部有顶部菜单是,使用锚点跳转的方法很容易挡住想要呈现的内容(如下图技能两个字被挡住了一半),为避免出现这样的问题,故滚动到指定元素使用用JS的方法来实现. 目录 使用的API简介 初版 ...

随机推荐

  1. redis2&period;8--主从机同步流程

  2. OSGi 的核心配置、动态化及问题

    一.OSGi的核心组件Bundle,与java中jar包的差别就是元数据配置:      常用的Bundle元数据定义:     a) Bundle-Activator:定义Activator的实现全 ...

  3. &period;NET基础之深度复制和浅度复制

    之前一直没有搞清楚深度复制和浅度复制的区别到底在哪里,今天彻底把这个东西弄懂了,写出来与到家共勉. 如果大家不懂值类型和引用类型的区别,请先看http://www.cnblogs.com/Autumo ...

  4. php实现比较两个字符串日期大小的方法

    <?php function dateBDate($date1, $date2) { // 日期1是否大于日期2  $month1 = date("m", strtotime ...

  5. &OpenCurlyDoubleQuote;无文件”恶意软件的威力:悄无声息一夜之间从ATM机中窃取80万美元

    去年雅虎接连曝出多个超大规模数据泄露事件,长期关注的你们一定都知道,5亿.10亿账户信息泄露的,除了雅虎也没谁了.就在这两天,5亿账户泄露的真相似乎正在浮出水面. 事件回顾 我们今天要讲的就是这桩5亿 ...

  6. 基于laravel5&period;5和vue2开发的个人博客

    本项目使用 PHP 框架 Laravel 5.5 进行开发.系统后台使用了Vuejs + Element-UI实现完全的前后端分离. 项目地址:http://phpjourney.xin(正在备案,暂 ...

  7. java遍历的优化

    说明:这是在面试中面试官出的题.虽然是常见的优化问题,但这种经验的确很有用.感慨之余,分享出来,以此共勉. 场景:现有List<PersonA>,List<PersonB>,P ...

  8. C&plus;&plus;购书系统

    C++购书系统——来自班里某位同学的小学期作业 这是一个购书系统,模拟网上购书的流程.用户可以在这个小程序里输入对应的数字进行浏览书籍信息,查看用户信息,查找书籍,购买书籍以及查询个人订单的操作. 以 ...

  9. python之OpenCv&lpar;四&rpar;---人脸识别

    对特定图像进行识别,最关键的是要有识别对象的特征文件.OpenCV已经内置了人脸识别特征文件,我们只要使用OpenCV的CascadeClassifier类即可进行识别. 语法: https://gi ...

  10. onclick 常用手册

    1.如何去使用onclick来跳转到我们指定的页面/跳转到指定url ☆如果只是在本页显示的话,可以直接用location, 方法如下: ①onclick="javascript:windo ...