Javascript 使用eq设置单选按钮的jQuery失败

Javascript 使用eq设置单选按钮的jQuery失败,javascript,jquery,Javascript,Jquery,在下面的代码中,plane.posFile是一个长度为3的字符串数组,用于标识3个单选按钮,并且按钮显示正确 如果oSource.posfile为空字符串,则第0个按钮将被正确选中 如果oSource.posfile不是空的,则它是plane.posfile中三个文件扩展名之一,只是为了进行比较,必须剥离文件扩展名 所发生的是,代码正确地(使用Firebug逐步完成)选择了要使用的索引 它进入break语句,然后以i=1退出 但是,尝试设置eq(i)时的attr('checked',true)文

在下面的代码中,
plane.posFile
是一个长度为3的字符串数组,用于标识3个单选按钮,并且按钮显示正确

如果
oSource.posfile
为空字符串,则第0个按钮将被正确选中

如果
oSource.posfile
不是空的,则它是
plane.posfile
中三个文件扩展名之一,只是为了进行比较,必须剥离文件扩展名

所发生的是,代码正确地(使用Firebug逐步完成)选择了要使用的索引

它进入break语句,然后以
i=1
退出

但是,尝试设置
eq(i)
时的
attr('checked',true)
文件。我不明白为什么。这与前面使用
eq(0)
时的语句相同。我已经盯着它看了几个小时了,试着做一些不走运的事情

非常感谢您的任何想法,包括对该方法的评论

$wb.pcPosCfg.empty();
for (i=0; i<plane.posFile.length; i++)
     $wb.pcPosCfg.append("<input type='radio' style='width:11px' name='rbnLoadCfg' value=" + i + ">" + plane.posFile[i] + "<br>");
    if (oSource.posfile=='') {
        $('input[name="rbnLoadCfg"]:eq(0)').attr('checked',true);
    }
    else {
        for (i=0; i<plane.posFile.length; i++) {
            if (oSource.posfile==plane.posFile[i].substring(0,plane.posFile[i].length-5))
                break;
            }
        $('input[name="rbnLoadCfg"]:eq(i)').attr('checked',true);
    }
}
$wb.pcPosCfg.empty();
对于(i=0;i
您需要连接字符串以正确包含变量


您需要连接字符串以正确地包含变量。

它可以工作,但我真的不明白为什么。jQuery文档说eq()中的内容应该是一个整数,我想。我尝试了一些实验。如果我输入一个数字,例如0、1或2,它就可以工作。但是,如果我使用eq(“+I+”)它不起作用。我必须使用“+I”。我连接到什么?正确。整数是一个整数,所以0、1、2、3等等。以前,它是字符串的一部分,所以它试图输入“I”-它根本不是整数,它是一个字符。我们使用字符串连接将字符串添加到一起,这样,我们就可以添加变量
I
。StrJavascript中的串接是用
+
完成的。希望这能稍微解释一下。@ahred好的,我终于明白了。eq(“+i+”)在我的脑海中被卡住了作为一个类似于调用的函数,“+i+”是它的参数,这毫无意义。我只是没有连接点来意识到它是在传递给jQuery的字符串中。再次感谢。它是有效的,但我真的不明白为什么。jQuery文档说eq()中有什么我想是一个整数。我试过一些实验。如果我输入一个像0,1或2这样的数字,它会工作。但是,如果我使用eq(“+I+”)它不起作用。我必须使用“+I”。我连接到什么?正确。整数是一个整数,所以0、1、2、3等等。以前,它是字符串的一部分,所以它试图输入“I”-它根本不是整数,它是一个字符。我们使用字符串连接将字符串添加到一起,这样,我们就可以添加变量
I
。StrJavascript中的串接是用
+
完成的。希望这能稍微解释一下。@ahred好的,我终于明白了。eq(“+i+”)在我的脑海中被卡住了作为一个类似于调用的函数,“+i+”是它的参数,这毫无意义。我只是没有连接点来意识到它将位于传递给jQuery的字符串中。再次感谢。
$('input[name="rbnLoadCfg"]:eq('+i+')').attr('checked',true);