小编Bra*_*ton的帖子

jqGrid错误 - "元素不是表"

这看起来很简单,但我从jqGrid代码中得到这个神秘的错误,说"元素不是表".这是代码:

var grid_data = [ {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"1",invdate:"2010-05-24",name:"test",note:"note",tax:"10.00",total:"2111.00"} , {id:"2",invdate:"2010-05-25",name:"test2",note:"note2",tax:"20.00",total:"320.00"}, {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",tax:"30.00",total:"430.00"}, {id:"4",invdate:"2007-10-04",name:"test",note:"note",tax:"10.00",total:"210.00"}, {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",tax:"20.00",total:"320.00"}, {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",tax:"30.00",total:"430.00"}, {id:"7",invdate:"2007-10-04",name:"test",note:"note",tax:"10.00",total:"210.00"}, {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"21.00",total:"320.00"}, {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"11",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"12",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"13",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"14",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"15",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"16",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"17",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"18",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"19",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"21",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"22",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"23",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"24",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"25",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"26",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"27",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"28",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"29",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}  ]; 
var default_grid = {
            datatype: "local", 
            height: 80, 
            rowNum: 10, 
            rowList: [10,20,30], 
            multiselect: true, 
            rowList:[10,20,30], 
            sortname: 'id', viewrecords: true, sortorder: "asc",
            footerrow: true,
            loadui: "block"
};
var grid_detail = $.extend({ 
    data: grid_data, 
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
    colModel:[ 
        {name:'id',index:'id', width:60, sorttype:"int"}, {name:'invdate',index:'invdate', width:90, sorttype:"date", formatter:"date"},
        {name:'name',index:'name', …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui jqgrid

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

如何在列表中垂直对齐多行文本?

示例:jsfiddle.net/h5sE6/

CSS:

ul {
    float: left;
    margin-right:20px;
}
ul li {
    height: 3em;
    border: 1px solid #ff0000;
    width:200px;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<ul>
    <li> Some text</li>
    <li>Some text<br />some more text</li>
    <li>some test text3</li>
    <li>even more text<br />and more</li>
</ul>
<ul>
    <li> Some text</li>
    <li>Some text<br />some more text</li>
    <li>some test text</li>
    <li>even more text<br />and more</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这是微不足道的,垂直对齐文本并使高度等于行高,如果你只有一行,但不止于此,事情看起来非常棘手.

html css

8
推荐指数
2
解决办法
2万
查看次数

如何大写Javascript对象键?

有人知道转这个的好方法吗?:

var obj = [{key1: value1,key2: value2},{key3: value3,key4: value4}];
Run Code Online (Sandbox Code Playgroud)

成:

var obj = [{Key1: value1,Key2: value2},{Key3: value3,Key4: value4}];
Run Code Online (Sandbox Code Playgroud)

javascript jquery

7
推荐指数
2
解决办法
7954
查看次数

MySQL:group_concat可以多行吗?

这就是我想要的:

attribute_name  attribute_id    attribute_value
--------------------------------------------------------------------
Appliances      16, 17, 18, 19  Washer, Dryer, Dishwasher, Microwave
Consoles        7, 3            PS3, XBox
Run Code Online (Sandbox Code Playgroud)

这里接近我所拥有的:

attribute_name  attribute_id   attribute_value
-------------------------------------------------
Appliances      16             Washer
Appliances      17             Dryer
Appliances      18             Dishwasher
Appliances      19             Microwave
Consoles        7              PS3
Consoles        3              XBox
Run Code Online (Sandbox Code Playgroud)

...来自此查询:

  SELECT     a.name AS attribute_name,

             av.attribute_value_id, av.value AS attribute_value

  FROM       attribute_value av

  INNER JOIN attribute a

               ON av.attribute_id = a.attribute_id

  WHERE      av.attribute_value_id IN

               (SELECT attribute_value_id

                FROM   property_attribute

                WHERE  property_id = 1)

  ORDER BY   a.name;
Run Code Online (Sandbox Code Playgroud)

我没有成功使用GROUP_CONCAT.我甚至不知道我想要什么是可能的.

mysql

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

如何使用 Sequelize 通过原始查询获取最后插入的 ID?

在 sequelize.js 中尝试以下原始 MySQL 插入时:

mysql_sequelize.query( 'INSERT IGNORE INTO steamer(steamer_id, prov_id, name, avatar) VALUES(UNHEX(REPLACE(UUID(),\'-\',\'\')), \'' + prov_id + '\', \'' + steamer_name + '\', \'' + steamer_avatar + '\')')
  .then(function (data) {
       console.log('inserted STEAMER data---> ',data);  // no useful info
  });
);
Run Code Online (Sandbox Code Playgroud)

生成的控制台日志如下所示:

inserted STEAMER data--->  [ OkPacket {
    fieldCount: 0,
    affectedRows: 1,
    insertId: 0,
    serverStatus: 2,
    warningCount: 1,
    message: '',
    protocol41: true,
    changedRows: 0 },
  OkPacket {
    fieldCount: 0,
    affectedRows: 1,
    insertId: 0,
    serverStatus: 2,
    warningCount: 1,
    message: '', …
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js sequelize.js

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

PDO和PHP/MySQL:PDO编写的语句有什么问题?

我知道这个标题听起来很荒谬,但我已经做了几个小时的研究,现在却发现PDO最终没有明显的解决方案......我致力于为一个开放.我也愿意接受我的代码存在缺陷.

使用PHP 5.2/Ubuntu,此代码可以工作(不使用预处理语句/打开注入):

$sql ="SELECT COUNT(*) FROM property p
INNER JOIN property_attribute pa ON p.property_id = pa.property_id
INNER JOIN property_area pc ON p.property_id = pc.property_id
WHERE pa.attribute_value_id
    IN (
        SELECT av.attribute_value_id
        FROM attribute_value av
        INNER JOIN attribute a ON av.attribute_id = a.attribute_id
        WHERE a.name LIKE '$attributes'
        AND av.value LIKE '$values'
    ) 
ORDER BY p.price ASC";
$params = array();
$rHowManyPages = Listings::HowManyPages($sql, $params);
Run Code Online (Sandbox Code Playgroud)

但是,使用PDO精心准备的声明:

$sql ='SELECT COUNT(*) FROM property p
INNER JOIN property_attribute pa ON p.property_id = pa.property_id
INNER JOIN property_area …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

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

如果我想,如何稍后调用JS自执行函数?

我正在尝试编写一个立即执行的函数,但也可以在以后执行:

var test = function (e){ console.log('hello'+e); }();
$('#some_element').click(function(e){
    test(' world');
});

在这种情况下,我想要的结果是:

helloundefined
hello world

我没有理解为什么调用测试后来返回'测试不是一个函数'.

javascript jquery

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

使用 Express.js 进行动态路由——这可能吗?

每次我用新的菜单项更新数据库时,我都会尝试让路由再更新一条路由。这是我悲伤的、丑陋的小尝试:

在 app.js 中,我检查菜单数据库和 shazaam...路线是在启动时动态创建的。凉爽的!:

// in app.js //
var attachDB = function(req, res, next) {
    req.contentdb = db.content;
    req.menudb = db.menu;
    req.app = app;  // this is the express() app itself
    req.page = PageController;
    next();
};
db.menu.find({}, function (err, menuitems){ 
    for(var i=0; record = menuitems[i]; i++) {
        var menuitem = record.menuitem;
        app.all('/' + menuitem, attachDB, function(req, res, next) {
            console.log('req from app all route: ',req)
            PageController.run(menuitem, req, res, next);
        }); 
    }

    http.createServer(app).listen(config.port, function() {
        console.log(
            '\nExpress server listening …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js

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

jqGrid行删除

我有一个按钮用于在选中时删除一行调用内置函数'delRowData'.很简单,直到你想删除一行/多行(如内置变量'selarrrow').有没有人比我想出的可怕的渣土有更好的答案(例如修改核心jqGrid代码)?

这是我的代码:

        $("#deleteButton").click(function(){ 
            var gr = jQuery("#myGrid").jqGrid('getGridParam','selarrrow'); 
            var su=jQuery("#myGrid").jqGrid('delRowData',gr.toString()); 
            (su) ? '' : alert("Already deleted or not in list"); 
        }); 

现在是在jquery.jqGrid.min.js中修改核心代码的非常讨厌的部分:

delRowData:function(f){
for(var m=0,max=f.length;m<max;m++){
    var j=false,i,c;
    this.each(function(){
        var e=this;
        if(i=e.rows.namedItem(f[m])){
            b(i).remove();
            e.p.records--;
            e.p.reccount--;
            e.updatepager(true,false);
            j=true;
            if(e.p.multiselect){
                c=b.inArray(f[m],e.p.selarrrow);
                c!=-1&&e.p.selarrrow.splice(c,1)
            }
            if(f==e.p.selrow)e.p.selrow=null
        }else return false;
        if(e.p.datatype=="local"){
            var k=e.p._index[f[m]];
            if(typeof k!="undefined"){
                e.p.data.splice(k,1);
                e.refreshIndex()
            }
        }
    });
}
        /*if(e.p.altRows===true&&j){
            var n=e.p.altclass;b(e.rows).each(function(a){
                a%2==1?b(this).addClass(n):b(this).removeClass(n)
            })
        }*/

    return j
}
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

/ *新细节**/
所以即使我们迭代给定的jqGrid数组'selarrrow'并使用jqGrid的默认'delRowData'函数逐个删除行:

$("#deleteButton").click(function(){ 
    $.each($("#myGrid").jqGrid('getGridParam','selarrrow'), function(index, value) {
        console.log($("#myGrid").jqGrid('getGridParam','selarrrow'));
        if ($("#myGrid").jqGrid('delRowData', value)) {
            console.log($("#myGrid").jqGrid('getGridParam','selarrrow'));
            console.log(value); …

javascript jquery-plugins jqgrid

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