2013-04-30 55 views
4

我用这如何连接变量在字符串中的JavaScript

var abc = jQuery('#pl_hid_addon_name').val(); 
alert(abc); 

var atLeastOneIsChecked = jQuery('input[name="addon-"'+abc+']:checked').length ; 
alert(atLeastOneIsChecked); 

但没有奏效 它应该是连击后,像下面

var atLeastOneIsChecked = jQuery('input[name="addon-base-bar2[]"]:checked').length; 

回答

17
var atLeastOneIsChecked = jQuery('input[name="addon-"'+abc+']:checked').length; 
                ^
                | 

您使用的封闭“在错误的地方

var atLeastOneIsChecked = jQuery('input[name="addon-'+abc+'"]:checked').length; 
                 ^
                  | 
2

串连这样的:

var atLeastOneIsChecked = jQuery('input[name="addon-'+abc+'"]:checked').length ; 
+1

的'name'的价值将打破选择,如果有任何特殊字符,如'[',因为你已经删除引用。 – Ian 2013-04-30 15:02:14

+1

@Ian ya正确,没有看到它 – 2013-04-30 15:03:14

+0

感谢您的回复它的工作 – user2320325 2013-05-01 06:17:32

2

试试这个 -

var atLeastOneIsChecked = jQuery("input[name='addon-"+abc+"']:checked").length ; 
0

我尝试了一些上述方法所提出的。但是,没有人对我有用。查看一些信息后,我在jQuery(prop())中找到了属性属性。 而且这对我有用,代码如下:

在我的JSF文件中,我有以下代码。

<h:selectOneMenu id="asignacion" value="#{contratosBean.asignacion}"> 
<f:selectItems value="#{contratosController.asignaciones}" 
     var="item" itemLabel="#{item.lblAsignacion}" 
     itemValue="#{item.idAsignacion}" /> 
<f:ajax onevent="showDialog()" /> 

JavaScript部分:

function showDialog() { if($([id='formContrato:asignacion']").prop("selected",true).val() == 'X1') { alert("function X1"); }else if($("id='formContrato:asignacion']").prop("selected",true).val() == 'X2'){alert("function X2"); }else{alert("Other function");} }