在jquery mobile中获取弹出窗口的值

时间:2014-05-06 17:48:49

标签: jquery jquery-mobile

我有一个弹出窗口,在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中我试图获取所选复选框值的值来输入表单内的隐藏位置。

但是我无法在弹出窗口中获得所选复选框的值。

1 个答案:

答案 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并解释一下您需要做些什么?