Html 要素には、プレフィックスとしての名前空間とポストフィックスとしてのインクリメントされたインデックスから構成される、複雑で一意の ID が含まれます。
id のワイルドカード式を使用してみます。
名前空間なしで簡単な方法を使用する場合、それはうまく機能します:
$j("[id*=service_selected_]").click(function(){
...
一意性を維持するために、id 内に名前空間部分を提供する必要がありますが、この方法では解決されません。
var selId = "'" + '[id*=' + namespace + '_service_selected_]' + "'";
$j(selId).click(function(){
...
.jsp 部分の下:
<c:forEach var="package" items="${packages.page}" varStatus="status">
<tr>
<td>
${package.name}
</td>
<td id="<portlet:namespace/>_service_price_${status.index}">${package.price}</td>
<td >
<input type="checkbox" name="service_id" value="${package.id}" id="<portlet:namespace/>_service_selected_${status.index}">
</td>
</tr>
</c:forEach>