Jquery ui jQuery 1.8使用对话框的意外行为

Jquery ui jQuery 1.8使用对话框的意外行为,jquery-ui,dialog,each,Jquery Ui,Dialog,Each,我的HTML中有一个对话框。一些输入元素通过在其上附加序列号来生成具有唯一id的元素。当用户点击书的时候就可以了!button,button函数使用每个函数迭代具有相同类的所有输入。这样,我可以获得每个输入的id,并使用ajax进行get调用。按钮第一次正常工作,但每次之后,带有序列号的输入都会相乘。非动态生成的输入不会相乘。似乎使用每个元素都会导致重新创建唯一的元素 就在书的第一次点击吧!按钮URL的正确构造如下:AddParty?pMemberId=0&pReservationType\u

我的HTML中有一个对话框。一些输入元素通过在其上附加序列号来生成具有唯一id的元素。当用户点击书的时候就可以了!button,button函数使用每个函数迭代具有相同类的所有输入。这样,我可以获得每个输入的id,并使用ajax进行get调用。按钮第一次正常工作,但每次之后,带有序列号的输入都会相乘。非动态生成的输入不会相乘。似乎使用每个元素都会导致重新创建唯一的元素

就在书的第一次点击吧!按钮URL的正确构造如下:AddParty?pMemberId=0&pReservationType\u 0=34&pReservationType\u 1=63

但是,随后的单击会像这样增加长度:AddParty?pMemberId=0&pReservationType\u 0=34&pReservationType\u 1=63&pReservationType\u 0=34&pReservationType\u 1=63

下面是从servlet返回的HTML文件中的对话框代码

<div class="reservation">
<div id="dialog-reservation-form" title="Reservation Form">
<input id="pMemberId" name="pMemberId" type="hidden" value="0"/>
<input id="pReservationType_0" class="PartyType" type="hidden" value="0"/>
<input id="pReservationType_1" class="PartyType" type="hidden" value="1"/>
</div>
<input id="plan-party" type="submit" value="Plan Party"/>
</div>

你是说jQuery还是jQueryUI?前者还没有到1.8版本,我似乎根本无法实现。你能举个例子吗?或者,尝试查看调试程序中$PartyType返回的内容以及这些元素的来源。每个元素都不会成倍增加,我的猜测是,即使您发布的代码看起来是正确的,您的整个对话框也会成倍增加。因此,您必须防止出现这种情况,或者将搜索限制在当前带有$.PartyType的对话框中,我使用的是jquery-1.7.1.min.js和jquery-ui-1.8.18.custom.min.js。我尝试了$.PartyType,现在它可以正常工作了。我仍然担心元素被复制/创建,但你让我走上了正确的轨道。非常感谢你!你是说jQuery还是jQueryUI?前者还没有到1.8版本,我似乎根本无法实现。你能举个例子吗?或者,尝试查看调试程序中$PartyType返回的内容以及这些元素的来源。每个元素都不会成倍增加,我的猜测是,即使您发布的代码看起来是正确的,您的整个对话框也会成倍增加。因此,您必须防止出现这种情况,或者将搜索限制在当前带有$.PartyType的对话框中,我使用的是jquery-1.7.1.min.js和jquery-ui-1.8.18.custom.min.js。我尝试了$.PartyType,现在它可以正常工作了。我仍然担心元素被复制/创建,但你让我走上了正确的轨道。非常感谢你!
$(document).ready(function () {

    $("#plan-party").button().click(function (e) {
        e.preventDefault();
        $("#dialog-party-form").dialog("open");

    });

    $("#dialog-party-form").dialog( {
        autoOpen : false, height : 600, width : 700, modal : true, buttons :  {
            "Book it!" : function () {
                try {
                    var memberIdValue = document.getElementById("pMemberId").value;
                    var url = "AddParty?pMemberId=" + memberIdValue;
                    $(".PartyType").each(function () {
                        var reservationTypeIdName = $(this).attr('id');
                        var reservationTypeIdValue = $(this).attr('value');
                        url = url + "&" + reservationTypeIdName + "=" + reservationTypeIdValue;
                    });
                    var ajax = new AJAXInteraction(url, addHuntCallback);
                    ajax.doGet();
                }
                catch (e) {
                    alert(e.description);
                }
                $(this).dialog("close");
            },
            Cancel : function () {
                $(this).dialog("close");
            }
        }
    });
});