小编Die*_*oDD的帖子

使用jQuery检查单选按钮不会触发无线电的onclick事件

我有一对无线电,我在页面.ready事件上使用bind()为其分配一个函数.然后,在同一个ready事件中,我检查另一个输入的值,如果它的值是"1",我会在页面加载时预选第二个单选按钮.这是一个片段.

<input type="radio" name="fpago" id="fpago1" value="1" />one
<input type="radio" name="fpago" id="fpago2" value="2" />two
Run Code Online (Sandbox Code Playgroud)

...

$(document).ready(function() {
    $("#myspan").hide();

    $("#fpago1, #fpago2").bind('change click',function(){
        togglePlazo();
    });

//initial condition to preselect radio #2
    grupo = $("#id_grupo").val();
    if(grupo != '0'){
        $("#fpago2").attr('checked', true); //checks the radio, but doesn't trigger function
    }

});
Run Code Online (Sandbox Code Playgroud)

...

- > 在这里查看更完整的代码

问题是,如果满足条件,则检查无线电,但绑定功能togglePlazo()不会触发......

如果稍后我手动单击单选按钮,则会触发该功能,并且跨度切换.它仅在使用jQuery进行的初始"检查"时,尽管无线电发生了变化,但该功能仍未触发.

我不知道我错过了什么,也许我应该绑定除了更改或点击之外的更多事件......我只是找不到我做错了什么.

注意:我使用的是jQuery 1.4.2,但小提琴设置为使用1.6.4(它没有1.4.2作为选项)

html javascript jquery

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

使用负面lookbehind的正则表达式在Notepad ++中不起作用

我有数以百计的字符串的出现的源文件flecha.jpgflecha1.jpg,但我需要找到其他的事件.jpg图像(即casa.jpg,moto.jpg,等等)

我试过使用带有负向lookbehind的正则表达式,如下所示:

(?<!flecha|flecha1).jpg
Run Code Online (Sandbox Code Playgroud)

但它不起作用!Notepad ++只是说它是一个无效的正则表达式.

我在其他地方尝试了正则表达式并且它有效,这是一个例子,所以我猜这是NPP处理正则表达式或者lookbehinds/lookaheads语法的问题.

那么我如何才能在NPP中获得相同的正则表达式结果呢?

如果有用,我使用Notepad ++版本6.3 Unicode

另外,如果你很善良,那么实现同样的东西的语法是什么,但可选的数字(在这种情况下只有'1')作为我的字符串的后缀?(即使它在NPP中不起作用,只是为了知道)......

我试过(?<!flecha[1]?).jpg但它不起作用.它应该与其他正则表达式相同,请参见此处(RegExr)

regex notepad++ negative-lookbehind regex-lookarounds

15
推荐指数
2
解决办法
9141
查看次数

一般来说,为什么不允许使用嵌套块注释?

在我使用的大多数语言中,你根本无法嵌套块注释,因为"关闭"注释sintaxis的第一个发生关闭了注释,即使它只是一个"内部"注释.

例如,在HTML中

<!-- outer comment
<p>hello</p><!-- inner comment <p>world</p> -->
<p>this should BE commented</p>
-->
Run Code Online (Sandbox Code Playgroud)

在这种情况下,外部注释结束于第一个-->而不是相应的最后一个,导致最后一个<p>打印,而不应该打印.

对于/* */用于块注释的语言也是如此,例如java,php,css,javascript等.

但我的问题是为什么会这样?为什么在设计上不允许这样做?我提到"按设计",因为我真的怀疑是因为解析问题,我猜解析器完全有能力跟踪开放/*s并用相应的结束关闭*/评论但是他们只是某种程度上决定它不是一个好主意.

我已经知道,解决方法是以某种方式更改内部结束注释,以避免它们关闭,并且只留下最后一个结束注释.例如,改变-->s和*/s的内部- ->* /s.但这显然不方便,当您只想丢弃代码块以进行调试时很难做到.(其他技术是将所有内容嵌套在if(false){}块中,但这不是重点.

那么,我想知道的是为什么几种现代语言通常不允许嵌套注释?必须有一个很好的理由,除了"别人不做,我们也不会"对吧?

另外,是否还有其他(不那么模糊)的语言允许嵌套块注释?

html php java comments nested

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

mysql:为什么将'string'与0比较为真?

我正在做一些MySQL测试查询,并意识到将字符串列与0(作为数字)进行比较给出了TRUE!

select 'string' = 0 as res; -- res = 1 (true), UNexpected! why!??!?!
Run Code Online (Sandbox Code Playgroud)

但是,将它与任何其他数字进行比较,正数或负数,整数或小数,false按预期给出(当然除非字符串是数字表示为字符串)

select 'string' = -12 as res; -- res = 0 (false), expected
select 'string' = 3131.7 as res; -- res = 0 (false), expected
select '-12' = -12 as res; -- res = 1 (true), expected
Run Code Online (Sandbox Code Playgroud)

当然,将字符串与'0'字符串进行比较,如预期的那样给出false.

select 'string' = '0' as res; -- res = 0 (false), expected
Run Code Online (Sandbox Code Playgroud)

但为什么它会成真'string' = 0呢?

这是为什么?

mysql string comparison

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

<a onclick="someFunction">和<a onclick="someFunction()">之间有什么区别?

有什么区别

<a onclick="someFunction">

<a onclick="someFunction()">

一个使用括号而不是另一个,但使用两者的区别是什么?什么是"正确"的选择?如果我不使用任何href属性会发生什么?

据我所知,在javascript中,using something = someFunc();将该函数的返回值赋给something变量.并且使用something = someFunc;直接将函数(而不是其结果)分配给该变量(并且它主要用于将函数分配给事件).例如,我可以为onclick事件分配一个函数.

但是我不明白在一些html元素内联事件中使用时会发生什么,如示例中所示,因为赋值不是javascript变量,而是html属性,这恰好是一个事件?请解释.

而且,将内联onclick函数分配给锚(a)以及其他元素(例如span div label等)是否有区别?他们有同样的效果吗?

旁注:我一直在这里阅读关于如何在点击链接时运行一个函数,我已经明白是应该"内联",而是使用不引人注目的javascript.(我提到它是为了避免对此进行辩论),但在我看到的例子中,他们没有提到我在内联时提到的两个选项的区别.

编辑:这个问题是因为在这里他们给出了一个答案,它没有在事件的函数中使用括号,没有人提到需要括号,所以我认为它是有效的.但我不知道使用()与否有什么区别.

html javascript

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

如何获取表中连续记录之间的天数?

在 MySQL 中,我有一个包含多个列的表,其中一个是日期列。我希望能够进行查询,以便我可以获得一个额外的列,显示当前日期(每行的日期)和前一行的日期之间的天数。

记录的顺序是按日期,我​​按其他列过滤。

例如

id  other_col   date        days_between_dates
1   abc     2013-05-01      0
2   abc     2013-05-07      6
3   abc     2013-05-09      2
4   abc     2013-05-19      10
5   abc     2013-05-25      6
6   abc     2013-06-03      9
7   abc     2013-06-14      11
Run Code Online (Sandbox Code Playgroud)

显然,由于第一行没有什么可比较的,它应该显示0.

我知道我可以使用datediffMySQL 函数获得两个日期之间的差异,例如

select datediff('2013-06-03','2013-05-25');
Run Code Online (Sandbox Code Playgroud)

我的基本查询是,select * from mytable where other_col = 'something' order by date; 但如何进行查询以直接获得示例中的结果?(我需要额外的“ days_between_dates”列)。

还要注意,通常 id 是有序的,没有间隙,但我不能保证。只是我会按升序日期排序,并按“other_col”列过滤。

mysql sql datediff date

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

正则表达式查找未注释的字符串?

我想要一个正则表达式来查找任何给定的字符串,但前提是该字符串不使用单行注释进行注释。

我不介意它是否在多行注释中找到该字符串(因为我认为Regex会复杂得多)。

例如,假设我要“ mystring”(不加引号):

mystring bla bla bla <-- should find this
bla bla mystring bla <-- also this
// bla bla mystring <-- not this , because is already commented
//mystring <-- not this
//                alkdfjñas askfjña bla bla mystring <-- not this
wsfier mystring añljkfasñf <--should find this
mystring //a comment <-- should find this
 bla bla // asfsdf mystring <-- should SKIP this, because mystring is commented
/* 
asdfasf
mystring   <-- i dont care if it finds …
Run Code Online (Sandbox Code Playgroud)

php regex comments

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

为什么在javascript中填充2D数组会失败?

我想填写一个2d数组,我在javascript中有这个代码:

n=2; //rows
m=3; //columns
z=0;
array1=[];
for(i=0;i<n;i++){
    for(j=0;j<m;j++){
        array1[i]=[];
        array1[i][j] = z;
        console.log(i+","+j+"="+z); //debug
        z++;
    }

}

console.log(array1);
Run Code Online (Sandbox Code Playgroud)

但不是得到这个预期的结果;

[[0, 1, 2], [3, 4, 5]]
Run Code Online (Sandbox Code Playgroud)

我明白了:

[[undefined, undefined, 2], [undefined, undefined, 5]]
Run Code Online (Sandbox Code Playgroud)

为什么!?我不明白为什么我对每个"内部"数组中的所有项目都没有定义,除了最后一个正确的(这里是2和5).

我做了一个调试步骤,记录每一i,j对和指定的z值,我每次都得到正确的配对值(i,j=z):

0,0=0
0,1=1
0,2=2
1,0=3
1,1=4
1,2=5
Run Code Online (Sandbox Code Playgroud)

所以,我认为我arr[i][j]=z每次都正确填充数组,那么为什么这些情况会得到未定义的呢?我也尝试在两种情况下使用arr=new Array()而不是arr=[]语法,但结果相同.

有任何想法吗?我几乎肯定这将是一个微不足道的错误,但我找不到有什么问题!

谢谢.

javascript arrays multidimensional-array

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