小编Vit*_*kov的帖子

带有序列化和额外数据的jQuery post()

好的,所以我试图找出是否可以发布序列化()和表单之外的其他数据.

这是我的工作,但它只发送'wordlist'而不是表单数据.

$.post("page.php",( $('#myForm').serialize(), { 'wordlist': wordlist }));
Run Code Online (Sandbox Code Playgroud)

有人有主意吗?

javascript jquery

143
推荐指数
5
解决办法
22万
查看次数

基于外部数据的动态路由

我正在开发一个需要根据某些外部数据源配置路由的应用程序.应用程序的生命周期如下所示:

  • ng2 inits with App
  • 应用程序包含页眉,路由器插座和页脚
  • 默认路由配置为homeComponent
  • homeComponent有categoriesListComponent
  • categoriesListComponent从categoriesService调用get方法
  • categoriesService从api中获取类别列表
  • categoriesComponent呈现列表并通过routesConfigurator将每个类别的新路由注入App

实际上有一个带有routesService的另一层抽象,但这个例子不需要

该部分工作,因为我们从主页开始,进行API调用并routerConfigs为每个类别创建.因此,当用户单击某个类别时,路径已经配置了正确的categoryComponent+,metadata并且它们会显示正确的信息.

但是,如果直接访问某个特定的类别页面,那么ng2还没有routerConfigfor the route,因为API调用还没有返回任何内容,更不用说了.Ng2只是使用Header,Footer和一个空路由器来呈现基本应用程序.

我能想到的唯一解决方案就是"hacky".将缓存的json文件保存在应用服务器上并在初始html中加载,然后将其注入ng2 bootstrap/init中的服务.这样,在ng2甚至生物之前配置路线以呈现页面.

我要求任何其他可能的建议,也许有一些我可以接受的更多ng2经验的人.也许这已经解决了,我还没有完善我的google-fu.

提前致谢.

angular2-routing angular

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

删除一个类的实例?

我有一个像这样创建的类:

function T() {
    this.run = function() {
        if (typeof this.i === 'undefined')
            this.i = 0;
        if (this.i > 10) {
            // Destroy this instance
        }
        else {
            var t = this;
            this.i++;
            setTimeout( function() {
                t.run();
            }, 1000);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我初始化它就像 var x = new T();

如果达到10次迭代,我不确定如何从内部破坏这个实例.

此外,我不知道如何在外部销毁它,以防我想在它达到10之前停止它.

javascript

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

解析JSON对象数组:"最好的重载方法匹配有一些无效的参数"

我正在使用JSON.net来解析我从PHP脚本获取的对象数据.

我能够让它解析数组并打破它.然后,一旦我尝试解析该数组中的每个对象,我就会收到此错误:

Additional information: The best overloaded method match for 
'Newtonsoft.Json.JsonConvert.DeserializeObject(string)' 
has some invalid arguments
Run Code Online (Sandbox Code Playgroud)

这是给我错误的函数:

    public void updateSearches()
    {
        var bw = new BackgroundWorker();

        bw.DoWork += (send, args) =>
        {
            WebClient client = new WebClient();
            JSON = client.DownloadString("URL");
            dynObj = JsonConvert.DeserializeObject(JSON);
            foreach (var item in dynObj)
            {
                dynamic search = JsonConvert.DeserializeObject(item);
                foreach (var s in search)
                {
                    joined += string.Join(",", s) + "END OF THE LINE\r\n";
                }
            }
        };

        bw.RunWorkerCompleted += (send, args) =>
        {
            this.mainWindow.richTextBox2.Text += "Got Data!\r\n"; …
Run Code Online (Sandbox Code Playgroud)

.net c# json json.net

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

JS/jQuery返回相关TD的TH,可能吗?

我需要知道.html()当没有使用jQuery选择器设置id或类时,是否可以获得特定TH.

为了说明我的问题:

TABLE
    THEAD TR
        TH1 TH2 TH3
    TBODY TR
        TD1 TD2 TD3
Run Code Online (Sandbox Code Playgroud)

我设置了一个$('table tbody tr td')函数,可以在双击时将单元格转换为输入字段,然后返回模糊的文本,反映通过输入字段对单元格所做的更改.

我需要能够知道我正在访问哪个列.因此,如果有人双击TD2,我希望输入字段名称包含TH2.

如果没有为每个TH或TD设置id/class,请告诉我如何做到这一点.

javascript jquery jquery-selectors

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

如果它们是重复的,则只从表中选择一次所有值

假设我有一个包含以下行/值的表:

+--------+----------+
|   ID   |  adspot  |
+--------+----------+
|      1 |        A |
|      2 |        B |
|      3 |        A |
|      4 |        B |
|      5 |        C |
|      6 |        A |
+--------+----------+
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来选择adspot中的值,但如果它们是重复的,则只需要一次.所以从这个例子中我想选择一次A和B一次.SQL结果应如下所示:

+----------+
|  adspot  |
+----------+
|        A |
|        B |
|        C |
+----------+
Run Code Online (Sandbox Code Playgroud)

我正在使用mySQL和PHP,以防有人问.

谢谢.

mysql

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

如何使用输入字段名称="array []"来jQuery ajax?

我有几个动态创建的隐藏输入字段.其中大多数的名称格式为array[]

问题1:

我如何使用jQuery .ajax().post()从命名的每个字段获取值array[]并传递它们,以便它们可以$_POST['array']在我的PHP页面中检索?

问题2:

假设说.假设我不知道所述字段的名称,只知道表单的名称.我怎么能像问题1那样做同样的事情?

.serializeArray()在jQuery文档中找到了,但我不知道我正在做什么,我甚至不确定这是否适用于我不知道字段名称的情况.

提前致谢.

javascript arrays ajax jquery serialization

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

条件mySQL语句.如果为true UPDATE,如果为false INSERT

我正在尝试创建更强大的MySQL查询并在此过程中学习.目前我正在努力掌握ON DUPLICATE KEY语法和可能的用途.

我有一个INSERT查询,我想INSERT只有没有相同ID和名称的记录,否则UPDATE.ID和名称不是,UNIQUEID已编入索引.ID不是UNIQUE因为它引用了另一个表中的另一个记录而我希望在该表中有多个记录来引用另一个表中的一个特定记录.

如何使用ON DUPLICATE KEYINSERT仅当有与没有记录ID和名称已经设置别的UPDATE这个纪录?

我可以很容易地与一对夫妇的做到这一点QUERIES,然后有PHP做的IF ELSE一部分,但我想知道如何LIMITQUERIES我送MySQL.

php mysql

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

mySQL复杂的SELECT查询?

这是我的表结构:

users:

id | email

emails:

id | subject | body

user_emails:

user_id | email_id
Run Code Online (Sandbox Code Playgroud)

这是非常简单的设计.但是,我需要为user_emails中没有关联的所有users.id选择第一个(最低的)emails.id.

为了显示:

users:

id | email
1 | email@domain.com
2 | test@lol.com
3 | user@test.com

emails:

id | subject | body
1 | sub1 | body1
2 | sub2 | body2

user_emails:

user_id | email_id
1 | 1
1 | 2
2 | 1
Run Code Online (Sandbox Code Playgroud)

如数据显示:

  • 用户1已收到电子邮件1和2,因此选择应排除该用户.
  • 用户2仅收到电子邮件1,因此应选择用户2和电子邮件2.
  • 用户3没有收到任何电子邮件,因此应选择用户3和电子邮件1.

我将在PHP中执行此操作,因此如果不能单独使用mySQL,那么任何逻辑都应该用PHP编写.

提前致谢

编辑:我应该提到将有成千上万的用户ID和数百个电子邮件ID.发送所有这些电子邮件的脚本将每天运行一次.所以,这应该尽可能优化.

php mysql

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

jQuery resizable()动态maxWidth选项

我有3列可调整大小.当一个变宽时,左边的一个变得更小.基本上只有2个手柄.左坳和中旬.因此,当Mid col变得更薄时,Right col会相应地扩展.它们中的所有三个都包含900px父div,因此所有三个的总和始终为900.它们具有静态设置的最大和最小宽度.

我的问题是,如果你拿左手柄并将它一直向右移动,你仍然可以使用右手柄并将中间col扩展到父div的边缘.

我想到了一种方法来解决这个问题,方法是编写一个检查列宽度的函数,然后从父div宽度中减去左右列,我称之为mWid.这给我留下了我想要设置为Mid col的maxWidth的数字.

现在问题是mWid没有在这里更新"maxWidth:mWid"

以下是右手柄的功能:

$(function() {
    $("#midResizable").resizable({
        handles: 'e',
        containment: '#container',
        maxWidth: mWid, // gets set once, but doesn't update! WHY?
        minWidth: 195,
        resize: function(event, ui) {
            contWidth = $('#container').width()
            newWidth = $(this).width()
            leftWidth = $('#leftResizable').width()
            rightWidth = $('#rightResizable').width()
            $("#rightResizable").css("width", (contWidth-15)-(newWidth)-(leftWidth)+"px");
            checkWid()
        }
    });     
});     

function checkWid() {
    rightWidth = $('#rightResizable').width()
    leftWidth = $('#leftResizable').width()
    contWidth = $('#container').width()
    mWid = (contWidth-15)-(rightWidth)-(leftWidth)
}
Run Code Online (Sandbox Code Playgroud)

javascript css jquery user-interface jquery-ui

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