2012-09-25 41 views
0

我知道有一些這方面的話題了,不過我想我有權利的概念只是一個缺陷的地方。我需要一個if語句來確定radioButton是否被選中。以下是我的代碼。如果選中聲明jQuery的primefaces

if($j("input:radio[name=selector1]").is(":checked")){ 
    //do something here 
} 


<p:selectOneRadio id="radioButtonsId" widgetVar="rb1"> 

    <f:selectItem id="selector1" itemLabel="Yes" itemValue="true"/> 
    <f:selectItem id="selector2" itemLabel="No" itemValue="false"/> 

</p:selectOneRadio> 

我想知道如果在塊的名稱是錯誤的。 primeFaces和jQuery也存在很多問題。

回答

1

爲什麼這是不行的原因是因爲選擇input:radio[name=selector1]的。該ID selector1不會是ID也不名稱輸入標籤的。該ID名稱爲單選按鈕組的輸入標籤將遵循命名約定:

IDformId:selectOneRadioId:indexOfTagInGroup

formId:selectOneRadioId

所以你的情況,的selector1名稱將是someGeneratedJSFId:radioButtonsIdIDsomeGeneratedJSFId:radioButtonsId:0。爲了選擇這個特殊的元素,你可以使用:

$("input:radio[id*=radioButtonsId\\:0]") 
  • id*=選擇具有一個ID包含您指定
  • \\字符串的單選按鈕是薈萃轉義字符像:
  • 0字符選擇第一輸入標籤單選按鈕組中

因此,請嘗試以下代碼:

if($("input:radio[id*=radioButtonsId\\:0]").is(":checked")){ 
    //do something here 
} 

<p:selectOneRadio id="radioButtonsId" widgetVar="rb1"> 
    <f:selectItem id="selector1" itemLabel="Yes" itemValue="true"/> 
    <f:selectItem id="selector2" itemLabel="No" itemValue="false"/> 
</p:selectOneRadio> 
+0

這有效。謝謝!!!! –

+0

不客氣! –