小编Sam*_*tch的帖子

监听器事件总是触发最后一个元素的信息

我正在尝试制作基于地图的应用程序,但我遇到了一些困难.我一直在使用的原始代码为每个标记添加了一个单独的InfoWindow,但我想使用单个InfoWindow来获取它,我可以动态设置内容.

但是,我似乎仍然对JavaScript的行为有点模糊,因为每次点击任何标记时,InfoWindow会弹出最后一个标记,并且警报会指示最后一个条目的ID locations.

短片,问题突出显示:

function plotLocations(my_locations) {
    locations = my_locations;
    for(var i=0; i<locations.length; i++) {
        var pos = new google.maps.LatLng(locations[i].loc_lat, locations[i].loc_lng);
        var icon = new google.maps.MarkerImage(
            "http://goo.gl/TQpwU",
            new google.maps.Size(20,32),
            new google.maps.Point(0,0),
            new google.maps.Point(0,32)
        );
        var marker = new google.maps.Marker({
            map: map,
            position: pos,
            animation: google.maps.Animation.DROP,
            icon: icon
        });
// ! -- trouble right here -- ! //
        google.maps.event.addListener(marker, 'click', function() {
            setPopInfo(pos, i);
        });
// ! -- ------------------ -- ! //
    }
}

function setPopInfo(pos, index) {
    pop_info.setPosition(pos);
    pop_info.open(map); …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps

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

有点复杂的列表理解

我要说,我需要过滤一个二维数组

[
  [1, 'eth0', 'description', ...],
  [2, 'virbr0', 'description', ...],
  [3, 'qvb25f982e4-ae', 'description', ...],
  [4, 'tap25f982e4-ae', 'description', ...],
...
]
Run Code Online (Sandbox Code Playgroud)

基本上我想过滤掉某些接口名称.我过滤掉接口,q如下所示:

info = [i for i in info if not i[1].startswith('q')]
Run Code Online (Sandbox Code Playgroud)

但是我需要能够定义要忽略的接口前缀列表,例如:

exclude = ['q','tap']
info = [i for i in info if not i[1].startswith(exclude)]
Run Code Online (Sandbox Code Playgroud)

但我似乎无法弄清楚这样的逻辑.

python list-comprehension

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

在mysql_real_escape_string中苦苦挣扎

谁能帮忙.我正在尝试使用mysql_real_escape_string支持传递给PHP的内部消息传递服务的值,但我必须在某处获取语法错误,因为这些值没有插入到数据库中.我四处寻找教程,帮助等,但努力做到正确.

我正在使用的代码如下.正确输入未转义的值($ email,$ from,$ time),但其他值只是输入空白.

<?php
session_start();
$conn = mysqli_connect('localhost', 'username', 'password', 'dbname');

$email=$_SESSION['email'];
$to = $_POST ['touser'];
$toemail = $_POST['touseremail'];
$from = $_SESSION['name'];
$message = $_POST['message'];
$subject = $_POST['subject'];
$time = time();

$query ="INSERT INTO messages
(to_user, to_email, subject, message, from_user, from_email, daterecord)
VALUES (
'" . mysql_real_escape_string($conn, $to) . "', 
'" . mysql_real_escape_string($conn, $toemail) . "', 
'" . mysql_real_escape_string($conn, $subject) . "', 
'" . mysql_real_escape_string($conn, $message) . "', 
'$from', '$email', '$time')";
$send = $conn -> query($query);

echo "Message …
Run Code Online (Sandbox Code Playgroud)

php

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

为什么这个MySQL select查询不能与WHERE子句一起使用?

你好,这让我发疯了.我不能让这个查询与WHERE子句一起使用.它没有它.我尝试了一切.我在这里查看过几十个网站和几十个问题.我看不出这个查询有什么问题.但每次我尝试使用WHERE子句时,它都会给我这个错误:

1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `cond` = '1'' at line 4
Run Code Online (Sandbox Code Playgroud)

我用空格尝试过它,没有单引号和没有,我试过mysqli.我只是无法弄清楚问题是什么.

这是我目前的代码:

 $sql = <<<SQL
    SELECT *
    FROM `master_inv`
    ORDER BY `sku`
    WHERE `cond` = '1' 
SQL;
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli

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

比较两个密码PHP

这是我的代码似乎工作正常,但它看起来不正确.我知道我很容易受到注射.只是想知道这是否是比较两个密码的最佳方式?

if (empty($_POST['password'])) {
    $errors[] = "Please enter a password";
} else {
    if ($_POST['password'] != $_POST['password1']) {
        $errors[] = "Your password did not match the confirmed password";
    } else {
        $p = $_POST['password'];
    }
}
Run Code Online (Sandbox Code Playgroud)

php

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

在正则表达式中预定义命名的递归子图

注意:我知道现有re模块不支持这一点,我使用的是将来要更换的新regex模块re.

我需要构建一些复杂的正则表达式,但我也希望这些表达式可以维护.我不希望任何人在几个月后回到这个代码,并且不得不花费数天时间来解开或重写表达式,包括我自己.:P

我以前用过一些PCRE语法来实现这一点,例如:

/
(?(DEFINE)
  (?<userpart> thomas | richard | harold )
  (?<domainpart> gmail | yahoo | hotmail )
  (?<tld> com | net | co\.uk )
  (?<email> (?&userpart)@(?&domainpart)\.(?&tld) )
)
^ To: \s+ .* \s+ < (?&email) > $
/ix
Run Code Online (Sandbox Code Playgroud)

将匹配线: To: Tom Selleck <thomas@gmail.com>

注意2:我不是要匹配电子邮件地址,这只是一个例子.

我看到regex模块已经实现了递归模式,并命名了递归模式,但它似乎不喜欢(?(DEFINE) ... )语法,给出了错误unknown group at position 10.

是否可以在Python中预先定义这样的命名模式?

python regex

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

窗口太小,无法调整大小

Windows 8 - 当我尝试拉伸窗口时,它只是跳到屏幕的左侧,仍然只是部分显示git bash窗口左侧的单词或代码.

windows git

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