`

jquery多处更新处理

    博客分类:
  • js
 
阅读更多
function check_type_message(i){
  var ad_index = "#ad_" + i;
  if($("#order_budget").val() != "" && $(ad_index + "_cost_dis_input").val() != "" && $("#order_regional").val() != "" && $(ad_index + "_budget_ratio_dis_input").val() != ""){
    $.ajax({
      url : "<%= check_type_message_orders_path %>",
      type : "POST",
      data : {order_budget: $("#order_budget").val(), budget_ratio: $(ad_index + "_budget_ratio_dis_input").val(), 
              ad_platform: $(ad_index + "_ad_platform").val(),
              ad_type: $(ad_index + "_ad_type").val(), order_regional: $("#order_regional").val(),
              cost_type: $(ad_index + "_cost_type").val(), cost: $(ad_index + "_cost_dis_input").val(),
              discount: $(ad_index + "_discount_dis_input").val(), order_budget_currency: $("#order_budget_currency").val()},
      success : function(data){
        $(ad_index + "_ctr_prediction").text(format_to_numeric(data["ctr_prediction"]) + "%");
        $(ad_index + "_cpm_prediction").text(format_to_numeric(data["cpm_prediction"]));
        $(ad_index + "_cpc_prediction").text(format_to_numeric(data["cpc_prediction"]));
        $(ad_index + "_clicks_prediction").text(format_to_numeric(data["clicks_prediction"]).slice(0, -3));
        $(ad_index + "_show_cpc_prediction").text(format_to_numeric(data["clicks_prediction"]).slice(0, -3));
        $(ad_index + "_impressions_prediction").text(format_to_numeric(data["impressions_prediction"]).slice(0, -3))
        $(ad_index + "_show_cpm_prediction").text(format_to_numeric(data["impressions_prediction"]).slice(0, -3))
        $(ad_index + "_general_price").text(format_to_numeric(data["general_price"]));
        $(ad_index + "_public_price").text(format_to_numeric(data["public_price"]));
        discount_cost_msg(i, data["cost_can"]);
        set_discount_val(i);
      }
    })
  }else{
    if ($("#order_regional").val() != ""){
      $.ajax({
      url : "<%= check_type_message_orders_path %>",
      type : "POST",
      data : {order_budget: $("order_budget").val(), ad_platform: $(ad_index + "_ad_platform").val(),
              budget_ratio: $(ad_index + "_budget_ratio_dis_input").val(),
              ad_type: $(ad_index + "_ad_type").val(), order_regional: $("#order_regional").val(),
              cost_type: $(ad_index + "_cost_type").val(), cost: $(ad_index + "_cost_dis_input").val(),
              discount: $(ad_index + "_discount_dis_input").val(), order_budget_currency: $("#order_budget_currency").val()},
      success : function(data){
        $(ad_index + "_general_price").text(format_to_numeric(data["general_price"]));
        $(ad_index + "_public_price").text(format_to_numeric(data["public_price"]));
        set_discount_val(i);
      }
    })
    }else{
      $(ad_index + "_general_price").text("");
      $(ad_index + "_public_price").text("");
    }
    text_clear = ["ctr_prediction", "cpm_prediction", "cpc_prediction", "clicks_prediction", "show_cpc_prediction", "impressions_prediction", "show_cpm_prediction"]
    $.each(text_clear, function( index, value ) {$(ad_index + "_" + value).text("");});
    $(ad_index + "_check_cost").html("");
  }
  show_cost_type(i);
}

 def check_type_message
    params.delete("action")
    params.delete("controller")
    params.permit!
    @ad = Advertisement.new()
    @ad.attributes = params.permit!
    @ad.discount = (@ad.cost.to_f / @ad.public_price) * 100
    # @ad.discount = params["discount"].to_f / 100 if params["discount"].present?
    # @ad.budget_ratio = params["budget_ratio"].to_f / 100 if params["budget_ratio"].present?
        
    impressions_prediction = @ad.impressions_prediction
    clicks_prediction = @ad.clicks_prediction
    ctr_prediction = @ad.offer.ctr_prediction
    general_price = @ad.general_price
    cpm_prediction = @ad.cpm_prediction
    cpc_prediction = @ad.cpc_prediction
    public_price = @ad.public_price
    
    render :json => {
                :ctr_prediction => ctr_prediction,
                :clicks_prediction => clicks_prediction,
                :impressions_prediction => impressions_prediction,
                :cpm_prediction => cpm_prediction,
                :cpc_prediction => cpc_prediction,
                :general_price => general_price,
                :public_price => public_price,
                :cost_can => @ad.cost_can? }
  end


jquery更新select标签:
function set_ad_platform_by_region(){
  current_region = $("#order_regional").val();
  if($.inArray(current_region, ["US_UK_AU_NZ_MY", "HK_TW_MA_SG", "OTHER_COUNTRY"]) == -1 ){
    options =  "<option value=" +'COMPUTER' + ">" + 'PC展示广告' + "</option>" + "<option value=" +'MOBILE' + ">" + '移动广告' + "</option>";
  }else{
    options = "<option value=" +'MOBILE' + ">" + '移动广告' + "</option>";
  }
 $('.adv_ad_platform').each(function(){
    $(this).find('option').remove();
    $(this).append(options);
    $(this).change();
   })
}


$("#chosen_multiple_test").val(["NATION"]).trigger("liszt:updated");
0
0
分享到:
评论

相关推荐

    jquery多条件过滤

    在本文中,我们将深入探讨如何使用jQuery实现一个类似于京东商品的多条件过滤功能。这个功能允许用户根据多个筛选条件快速定位到他们感兴趣的商品,提高用户体验并优化网站的交互设计。 首先,我们需要理解jQuery的...

    asp.net处理不规则表格 结合jquery处理不规则表格

    ASP.NET的UpdatePanel或jQuery的Ajax函数可以实现部分页面更新,从而在处理不规则表格时避免全页面刷新,提高用户体验。 9. **响应式设计**: 当表格在不同设备或屏幕尺寸上显示时,可能需要调整布局。可以使用...

    处理jquery版本之间冲突

    然而,随着项目的迭代和技术栈的更新,不同的开发人员可能会在同一个项目中引入不同版本的jQuery,这很容易导致版本冲突的问题。例如,在某个项目中,后端团队可能因为某些原因使用了较为老旧的版本(如jQuery 1.3.2...

    .net + jquery 多文件上传

    标题中的".net + jquery 多文件上传"是一个技术主题,涉及到使用Microsoft的.NET框架与jQuery库来实现网页上的多文件上传功能。这是一个常见的需求,在Web应用中,用户可能需要一次性上传多个文件,如图片、文档等。...

    JQuery chm帮助文件(多个版本)

    在提供的压缩包中,包含了多个jQuery版本的CHM帮助文件,这些文件为开发者提供了详细而全面的API参考,涵盖了从jQuery 1.4.4到jQuery 3.1的不同版本。每个版本的CHM文件都对应了该版本jQuery的核心功能和更新内容,...

    Jquery下載,Jquery-3.5.1

    jQuery 诞生于 ECMAScript 3 (ES3) 时代,但随着 JavaScript 语言的发展(如 ES6, ES7, ES8...),jQuery 也不断更新以兼容新特性。然而,jQuery 并不完全等同于 JavaScript,它更专注于提供一套统一且易用的工具集...

    jquery各版本,jquery1.3-1.7,jquery文件

    jQuery1.5着重于Ajax功能的增强,引入了Promise对象,这是异步编程的一个重要概念,它使处理多个并发请求变得更加简单和有序。此外,jQuery1.5还加强了对JSONP的支持,便于跨域数据交互。 jQuery1.6的主要改进是...

    jquery 多文件上传 (java)

    标题 "jquery 多文件上传 (java)" 涉及到的是使用 jQuery 和 Java 实现一个支持多文件上传的功能。在 Web 开发中,文件上传是一个常见的需求,特别是当用户需要提交图片、文档或其他媒体文件时。jQuery 是一个流行的...

    jQuery淘宝商品多属性查询

    当用户选择不同的商品属性时,这些事件会触发相应的处理函数,更新查询条件。 3. **数据操作**:商品属性通常存储在服务器端,通过Ajax请求获取。jQuery的`.ajax()`或`$.get()`、`$.post()`方法可以方便地进行异步...

    jquery多文件上传

    在“jquery多文件上传”这个主题中,我们将深入探讨如何使用jQuery实现多文件上传功能,这是一种常见的需求,特别是在需要用户提交多个文件的Web应用中。 一、jQuery与多文件上传基础 jQuery本身并不直接支持多...

    JQuery1.4.1与JQuery1.8.3

    5. **兼容性增强**:jQuery 1.8.3 支持更多的浏览器,包括较旧版本的 Internet Explorer,使得开发者可以为广泛的用户群体提供一致的体验。 6. **模块化发展**:随着 AMD(Asynchronous Module Definition)规范的...

    jquery插件实时实时更新时间

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。在给定的“jquery插件实时实时更新时间”主题中,我们将探讨如何使用jQuery来实现一个插件,以便在网页...

    jquery-migrate: 迁移旧的jQuery代码至jQuery1.9以上的版本

    在JavaScript开发领域,jQuery是一个广泛应用的库,它极大地简化了DOM操作、事件处理和Ajax交互。然而,随着jQuery的版本更新,为了保持库的性能和现代化,一些旧的API和功能被废弃。这就给那些依赖旧版jQuery代码的...

    jQuery File Upload 可跨域的多图片上传

    综上所述,`jQuery File Upload` 是一个强大且灵活的文件上传解决方案,尤其适用于需要跨域上传和多文件处理的Web应用。通过理解并充分利用其特性,开发者可以构建出高效、用户体验良好的上传功能。在实际使用过程中...

    [精华]网站论坛源码C# Jquery,完全自制,有很多jquery自己写的插件

    3. 评论和回复功能:C#处理用户互动,Jquery实现实时更新和通知。 4. 用户权限系统:C#实现角色和权限分配,Jquery可能用于前端权限展示和控制。 5. 搜索功能:C#处理搜索逻辑,Jquery提供搜索框的自动补全和结果...

    jquery仿京东产品内页多图展示代码

    在IT领域,jQuery是一种广泛使用的...综上所述,这个"jquery仿京东产品内页多图展示代码"涵盖了jQuery基础、事件处理、图片切换、响应式设计等多个关键知识点,对于学习和实践前端开发技术具有很高的参考价值。

    .net+jQuery无刷新多文件上传

    在.NET和jQuery的世界里,无刷新多文件上传是一种提高用户体验的技术,它允许用户在不重新加载整个网页的情况下上传多个文件。这种技术的核心在于利用Ajax异步通信和前端库(如jQuery)来处理用户交互,同时借助后端...

    jQuery仿淘宝商品多条件筛选代码

    **jQuery仿淘宝商品多条件筛选代码详解** 在Web开发中,提供用户友好的商品筛选功能是提高用户体验的关键一环。"jQuery仿淘宝商品多条件筛选代码"是一个实用的解决方案,它模仿了淘宝网上的商品筛选功能,适用于...

    PHP多文件上传插件,PHP+jQuery+Ajax多图片上传

    2. **jQuery插件**:例如`jQuery.form.js`或`jQuery.fileupload.js`,它们提供了方便的API来处理多文件上传。这些插件可以监听文件选择事件,创建FormData对象,将文件数据附加到对象中,并通过Ajax发送到服务器。 ...

    jquery-3.5.1.rar

    本次提供的“jquery-3.5.1.rar”文件,包含了jQuery的核心库版本3.5.1,这是对这个经典库的一个稳定更新。在本文中,我们将深入探讨jQuery的基础知识、核心功能以及3.5.1版本的主要改进。 一、jQuery简介 jQuery是...

Global site tag (gtag.js) - Google Analytics