我有一个弹出窗口,在Popup上我有相同名称的复选框。当我们点击按钮时
我需要选中所选复选框。
弹出
<div class="form">
<ul class="lists">
<li>
<div class="ui-checkbox">
<label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-left ui-checkbox-off" for="int1">test</label>
<input id="int1" name="result" value="CPmiyS6vXv3RHPpTGW81" type="checkbox" />
</div>
</li>
<li>
<div class="ui-checkbox">
<label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-left ui-checkbox-off" for="int2">test1</label>
<input id="int2" name="result" value="5JCHGPLRrDemmqlfOGEJ" type="checkbox" />
</div>
</li>
<li>
<div class="ui-checkbox">
<label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-left ui-checkbox-off" for="int3">test21</label>
<input id="int3" name="result" value="5R4OVDmAHL86LvwbkOWO" type="checkbox" />
</div>
</li>
</ul>
<div>
<div class="ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset">
<input class="createName" name="name" placeholder="Create Name" type="text" />
</div>
</div>
<div class="actions">
<div>
<div class="ui-btn ui-input-btn ui-corner-all ui-shadow">
Add to Names
<input value="Add Name" title="Add to Name" name="submit" class="major popup_add_to_name" type="submit" />
</div>
</div>
<a href="#" class="link ui-link" data-rel="back">cancel</a>
</div>
</div>
Jquery代码
$(".popup_add_to_name").on("click", function(e) {
$("#productForm input[name=name]").val($("#form input[name=name]:checked").val());
var form = $("#productForm");
$.ajax({
url: '/name/list/add',
type: 'post',
data: form.serialize(),
dataType: 'json',
crossDomain: true,
timeout: 5000,
success : displayAddItemsToList
});
});
在jquery中我试图获取所选复选框值的值来输入表单内的隐藏位置。
但是我无法在弹出窗口中获得所选复选框的值。
答案 0 :(得分:0)
您发布的内容有几个问题。
首先,不会起作用:
$("#productForm input[name=name]").val($("#form input[name=name]:checked").val());
它说,在idF为productForm的元素中找到名称为name的输入,并将其值设置为输入值,其名称是id为form的元素。如果你有一个元素productForm,其中一个名为name的输入你没有在上面的html中显示,那么你可以在你的选择器中使用checked属性,而你的#form input[name=name]
不是一个复选框,所以将永远不会有一个已检查的属性。
您的标记中的其他地方也存在一些问题。复选框都具有相同的名称。如果它们是复选框,则它们应该是唯一的(这样您可以选择一个或多个项目)。然后你应该能够序列化你的表单,但是目前你正在尝试使用id为productform的某个元素序列化数据。在您发布的html中,没有带有产品形式ID的元素。
另外,我怀疑你的ajax调用可能会遇到一些挑战。您确定要进行跨域呼叫吗?并且,我猜测成功函数可能需要传递给它的一些数据,例如要添加到列表中的项目(仅根据名称进行猜测)。
也许您可以发布#productForm并解释一下您需要做些什么?