0

我需要将 jquery 对话框的标题发送到服务器,是否可以在不遍历 DOM 并找到它的情况下检索它?

我知道 ( <span class="ui-dialog-title"></span>) 可以使用 jQuery 检索,但我想知道是否有更好的方法。

 $(c[0]).html(html).dialog({
                title: "Brief Country List",
                resizable: false,
                draggable: false,
                width: 900,
                modal: true,
                autoOpen: true,
                buttons: {
                    Done: function () {
                        Neptune.BriefCountrySection.SaveCountry();
                    },
                    Export: function () {

                        $.ajax({
                            type: 'POST',
                            url: '/Briefs/ExportCsv',
                            data: /*Get the title here*/,
                            dataType: 'JSON',
                            contentType: 'application/json; charset=utf-8',
                            success: function (res) {
                                if (res.Success) {
                                    var item = ko.utils.arrayFirst(self.Countries(), function (i) {
                                        return i.ListID() == self.SelectedCountryListID();
                                    });

                                    if (item != null) {
                                        self.Countries.remove(item);
                                    }
                                }
                                else {
                                    Neptune.ShowAlert({ content: res.FriendlyErrorMessage });
                                }
                            },
                            error: function (jqXHR, status, err) {
                                Neptune.ShowAlert({ content: status });
                            }
                        });
                    }
                }
            });
        }
4

1 回答 1

5

你可以通过调用

var title = $( ".selector" ).dialog( "option", "title" );

http://api.jqueryui.com/1.9/dialog/#option-title

这些选项包含在 dom 元素的数据中

$("div#dialog").data("uiDialog").options.title

我不推荐使用第二种方式,因为它可能依赖于 jQuery 版本并在未来发生变化,它只是说明它是如何工作的。

当然,调整您的选择器以选择正确的对话框,如果您从对话框按钮调用此 ajax,那么它应该是$(this)

于 2013-03-06T11:27:25.683 回答