【问题标题】:How to pick up liferay radio button value using jQuery如何使用 jQuery 获取 liferay 单选按钮值
【发布时间】:2015-09-09 10:10:22
【问题描述】:

我正在为我的应用程序使用两个单选按钮,显示就业和失业状态。现在我必须使用 jQuery 来获取值。所以我尝试过的是这里

<tr>
                <th>Current Employment status<span style='color: #FF0000; display: inline;'>*</span></th>
                <td>
                    <c:choose>
                        <c:when test='<%= employmentStatus.equals("Employed") %>'>
                            <aui:input checked="<%=true%>" inlineField="true" label="Employed" value="Employed" type="radio" name="employmentStatus" id="employed"></aui:input>
                            <aui:input inlineField="true" label="Not Employed" value="Not Employed" type="radio" name="employmentStatus" id="notEmployed"></aui:input>
                        </c:when>
                        <c:when test='<%= employmentStatus.equals("Not Employed") %>'>
                            <aui:input inlineField="true" label="Employed" value="Employed" type="radio" name="employmentStatus" id="employed"></aui:input>
                            <aui:input checked="<%=true%>" inlineField="true" label="Not Employed" value="Not Employed" type="radio" name="employmentStatus" id="notEmployed"></aui:input>
                        </c:when>
                        <c:when test='<%= employmentStatus.equals("") %>'>
                            <aui:input checked="<%=true%>" inlineField="true" label="Employed" value="Employed" type="radio" name="employmentStatus" id="employed"></aui:input>
                            <aui:input inlineField="true" label="Not Employed" value="Not Employed" type="radio" name="employmentStatus" id="notEmployed"></aui:input>
                        </c:when>
                    </c:choose> 
                </td>
            </tr>

这就是我获取单选按钮值的方式。

employementStatus=$('#<portlet:namespace/>employed').val();

但我无法获取价值,请有人帮忙

【问题讨论】:

  • 您需要使用基于 liferay 库输出的 HTML 的 jQuery 选择器。在 DOM 检查器中检查 HTML 以准确找出您需要定位的元素。
  • .val() 与属性 value 不同。 .val() 用于从文本输入、文本区域或选择中获取用户输入的值。您很可能想要.attr('value') 之类的更多内容:api.jquery.com/attr

标签: jquery liferay-6


【解决方案1】:

我不是 liferay 开发人员,但考虑到预期呈现的 HTML,您的 jQuery 可能是 $(input[name="employmentStatus"]:checked).val(),它以这种方式分解:

  1. 给我所有input元素
  2. 将这些输入限制为具有“employmentStatus”name 属性的输入
  3. 进一步限制为:checked
  4. 使用val() 方法获取该输入的值

所以,如果你的 HTML 看起来像这样:

<input checked="true" value="Employed" type="radio" name="employmentStatus" id="employed" />
<input value="Not Employed" type="radio" name="employmentStatus" id="notEmployed" />

employementStatus=$(input[name="employmentStatus"]:checked).val() 会将employementStatus 设置为字符串“Employed”。

【讨论】:

  • 你的 HTML 和我的一样吗 (&lt;input checked="true" value="Employed" type="radio"...)?
  • @lucifer 还在吗?
  • 不,它不起作用我尝试了普通的 html 单选按钮来选择值
  • 生成的 HTML 是什么样的?您可以将其添加到您的问题中吗?
【解决方案2】:

此代码可能会有所帮助:

$('input[name="<portlet:namespace/>employmentStatus"]:checked').val();

【讨论】:

  • 你可能想把你的代码放在一个代码块中,以获得更好的可读性:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多