小编Jay*_*zzi的帖子

JQuery $ .each()JSON数组对象迭代

我在尝试解决JQuery $ .each()迭代时遇到了一些麻烦

这是我的阵列,为方便起见限制了结果

[{"GROUP_ID":"143",
  "GROUP_TYPE":"2011 Season",
  "EVENTS":[
    {"EVENT_ID":"374","SHORT_DESC":"Wake Forest"},
    {"EVENT_ID":"376","SHORT_DESC":"Yale"},
    {"EVENT_ID":"377","SHORT_DESC":"Michigan State"}]
 },
 {"GROUP_ID":"142",
  "GROUP_TYPE":"2010 Season",
  "EVENTS":[
    {"EVENT_ID":"370","SHORT_DESC":"Duke"},
    {"EVENT_ID":"371","SHORT_DESC":"Northwestern"},
    {"EVENT_ID":"372","SHORT_DESC":"Brown"}]
}]
Run Code Online (Sandbox Code Playgroud)

我的第一个$ .each迭代非常有效,但"EVENTS"的子迭代是我遇到问题的地方

我的第一个$ .each()函数

     $.each(json, function(key) {

            html = '<a href="'+json[key].GROUP_ID+'">';

     ....
Run Code Online (Sandbox Code Playgroud)

我的非工作第二个$ .each()函数

     $.each(json.EVENTS, function(key) {
    newHTML += '<p>'+json.EVENTS[key].SHORT_DESC+'</p>';


     ...
Run Code Online (Sandbox Code Playgroud)

我(松散地)理解这不是一个单一的JSON对象,而是一个JSON对象数组,但不理解第一个版本是否有效,为什么第二个版本没有

一旦我理解这是一个$ .each()中的$ .each(),我想知道最终的结果,我知道下面的代码不起作用,而且很可能是愚蠢的,但是我想知道我在尝试什么实现:通过父级迭代父级然后子级

$.each(json, function(key) {

            html = '<a href="'+json[key].GROUP_ID+'">';

     $.each(json[key].EVENTS, function(subkey) {

            html = '<a href="'+json[key]EVENTS[subkey].SHORT_DESC+'">';
 ...
Run Code Online (Sandbox Code Playgroud)

each jquery json

18
推荐指数
1
解决办法
10万
查看次数

使用Select2 4.0和Bootstrap 3+设置jQuery验证样式

我有一个使用Bootstrap 3.3.4,Select2 4.0和Jquery Validation 1.13.1的项目

我已经将jquery验证器默认设置为样式引导程序3类,如此

 $.validator.setDefaults({
    errorElement: "span",
    errorClass: "help-block",

    highlight: function (element, errorClass, validClass) {
    $(element).addClass(errorClass);
        $(element).closest('.form-group').removeClass('has-success').addClass('has-error');
    },
    unhighlight: function (element, errorClass, validClass) {
    $(element).removeClass(errorClass);
        $(element).closest('.form-group').removeClass('has-error').addClass('has-success');
    },

    errorPlacement: function(error, element) {
        if(element.parent('.input-group').length) {
           error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }

    }
});
Run Code Online (Sandbox Code Playgroud)

但是这些默认值不会将select2字段设置为相同...在下图中,"metals"选择是一个bootstrap字段,而"colors"select是一个select2字段.

在此输入图像描述

我尝试搜索其他SO,但所有这些都使用3.5.xx版本的select2

我包括了一个示例的jsfiddle,我正在寻找调整验证器的默认值,让select2看起来统一

http://jsfiddle.net/z49mb6wr/

css jquery jquery-validate twitter-bootstrap-3 jquery-select2-4

9
推荐指数
1
解决办法
1万
查看次数

keydown事件上的jQuery trigger()和stopPropagation()

我在keydown和停止传播时遇到了困难

我不希望我的页面刷新,我已经尝试了我能想到的每一种方式,我目前的代码是

 <script>
 $(document).ready(function() {
 var e = jQuery.event( 'keydown', { which: $.ui.keyCode.ENTER } );

 $('#id_number').trigger(e, function(event){
event.preventDefault();
event.stopPropagation();
});

 });
 </script>
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?我认为事件被正确调用,我有正确链接的jquery和jquery ui并且没有收到控制台错误

更新 很好它正在工作,现在我正在获取对象函数的属性'事件'(a,b){return new e.fn.init(a,b,h)}不是下面代码的函数错误

 $(document).ready(function() {
 var e = jQuery.event( 'keydown', { which: $.ui.keyCode.ENTER } , function(event){
  event.preventDefault();
  event.stopPropagation();
}); 

 $('#id_number').trigger(e);

 });
Run Code Online (Sandbox Code Playgroud)

更新#2 - 修复

我学到的东西

  1. 文件中不需要trigger()(准备好)
  2. 让$ .ui.keyCode工作很困难(至少对我而言)
  3. 总是看到其他功能附加到输入(onblur,onfocus,ect)aka doh

把它改写成这个,工作得非常好

 $(document).ready(function() {
    $('#id_number').keydown(OnKeyDown);
 });    

function OnKeyDown(e){
var code = (e.keyCode ? e.keyCode : e.which); //to support both methods
if(code == 13) { //the Enter …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui keydown preventdefault stoppropagation

6
推荐指数
1
解决办法
1万
查看次数

coldfusion cfquery返回插入oracle rowid

根据CF9 cfquery文档,我应该能够在cfquery结果中返回oracle ROWID.

我在所有方面都失败了,它根本不会返回任何身份或生成的密钥

我正在使用jdbc oracle瘦客户端,有人能指出我在正确的方向吗?

oracle coldfusion coldfusion-9

4
推荐指数
1
解决办法
766
查看次数

cfloop中的求和值

我指的是之前标记为正确答案的SO Coldfusion计算总和(循环?),但代码对我不起作用.

我试图从几个领域创建一个总计.但我收到的错误是"未定义变量xxx".这是因为我试图从循环中为所有记录追加值

<cfoutput>
<cfquery name="ActivityReceipts" dbtype="query">
    SELECT
          activity,
          qty_approved,
          location,
          payment_amount, 
          shipping_cost,
          handling_cost 
   FROM   rc.RC1
   WHERE  id_number = '#Receipts.id_number#'
</cfquery>

<cfloop query="ActivityReceipts">
<tr>
<td style="text-align:left;">#ActivityReceipts.activity#</td>
<td style="text-align:left;">#ActivityReceipts.qty_approved#</td>
<td style="text-align:left;">#ActivityReceipts.location#</td>
<td style="text-align: right; padding-right: 80px;">#ActivityReceipts.payment_amount#</td>
</tr>

<cfset grandTotal =  grandTotal + ( #ActivityReceipts.payment_amount# + #ActivityReceipts.handling_cost# + #ActivityReceipts.Shipping_cost# ) />

</cfloop>


<td>#grandTotal#</td>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

请注意,如果我将grandTotal变量设置行更改为

<cfset grandTotal =  ( #ActivityReceipts.payment_amount# + #ActivityReceipts.handling_cost# + #ActivityReceipts.Shipping_cost# ) />
Run Code Online (Sandbox Code Playgroud)

它不会导致错误,但它也只是最后一行的总和,而不是所有的总和.

coldfusion loops cfloop

2
推荐指数
1
解决办法
855
查看次数

Mutliple复选框,具有相同的名称属性循环

我有一个html表单提交给C#ashx处理程序,我希望将插入/更新数据库

我用PHP和Coldfusion编写了这个,但我无法弄清楚如何在C#中做到这一点

HTML表单

     <form id="copyto">
    <input type="hidden" name="operation" value="update" />
    <label><input type="checkbox" name="children[]" checked="checked" value="001">
Andrew Regan</label>

    <label><input type="checkbox" name="children[]" checked="checked" value="101">
Arthur Regan, III</label>

    <input type="checkbox" name="children[]" checked="checked" value="968">
Tim Reagan
    </form>
Run Code Online (Sandbox Code Playgroud)

C#ASHX处理程序

foreach(string key in context.Request.Params["children"]) 
{
    ListDictionary updateParams = new ListDictionary();
    updateParams.Add("rowid", key);
    string sSql = @"insert into temp select * from children where c.id = :rowid";
    dbi.ExecuteNonQuerySql(sSql, updateParams);

}
Run Code Online (Sandbox Code Playgroud)

通常我会迭代PHP中的$ _POST ['children'],然后执行sql

这究竟是如何翻译的?

编辑

好吧我几乎得到了这个,但是我的迭代器遍历了所有请求集合变量,我希望它只遍历一个特定的命名变量,在本例中是"children"

即localhost/page?operation = update&children = 9&children = 8&children = 17

foreach(string key …
Run Code Online (Sandbox Code Playgroud)

c# forms iteration ashx

1
推荐指数
1
解决办法
3201
查看次数

循环期间的 Cfdocumentitem 分页符提供额外的空白页

我正在使用 CF9 和 ColdBox。我正在做的是循环查询,并在最后使用cfdocumentitem pagebreak. 但是,它总是在最后给我一个额外的空白页。这几乎让我发疯,所以我听从专家的建议。

<cfdocument format="PDF"  overwrite="Yes" localUrl="yes" pageType = "letter">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body>
    <cfquery name="Receipts" dbtype="query">
        SELECT distinct id_number
        FROM rc.RC1
    </cfquery>

    <cfoutput>
    <cfloop query="Receipts">
        <!--- removed for brevity --->
        <cfdocumentitem type="pagebreak" />
    </cfloop>
    </cfoutput>
</body>
</html>
</cfdocument>
Run Code Online (Sandbox Code Playgroud)

coldfusion cfdocument coldfusion-9

0
推荐指数
1
解决办法
929
查看次数

Coldfusion SQL注入?未通过Web应用程序检查

好吧,我很难过,我有一个CF11 Web应用程序,它没有通过SQL注入的Web应用程序审计报告,这个报告是由Acunetix制作的.

无论如何,该报告在我的网站上给了我10页,容易受到sql注入,但我检查了代码,我实际上在每个实例中使用cfqueryparam

处理程序调用的其中一个查询的示例

<cfquery datasource="#application.DSN#" name="qResult" result="r">
        update  #table# s
        set s.loader_status = <cfqueryparam cfsqltype="cf_sql_varchar" value="#ucase(arguments.status)#">
        <cfif isDefined("bio_loader_status") and bio_loader_status neq ''>
         , s.bio_loader_status = <cfqueryparam cfsqltype="cf_sql_varchar" value="#ucase(bio_loader_status)#">
         </cfif>
         , s.session_id = NULL
         , s.session_expiration = NULL
         <cfif isDefined("arguments.rowid") and arguments.rowid neq ''>
                where s.rowid = CHARTOROWID(<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.rowid#">)
         </cfif>

    </cfquery>
Run Code Online (Sandbox Code Playgroud)

我读过的所有内容都告诉我,我可以防止sql攻击(使用cfquery param,使用datasurce和table变量等),但报告另有说法

URL encoded GET input rowid was set to 1'"
Error message found: Error Executing Database Query
GET /index.cfm/status?rowid=1'%22&type=billing HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

有人能说清楚我做错了吗?或者报告的假设是否正确?

coldfusion sql-injection

0
推荐指数
1
解决办法
97
查看次数