2013-04-30 56 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");} }