当前位置: 首页 > 面试题库 >

将数据传递到jQuery UI对话框

夏涵畅
2023-03-14
问题内容

我正在开发一个ASP.NetMVC网站,在该网站上,我在一个表中列出了来自数据库查询的一些预订,并带有ActionLink来取消特定行上的预订,BookingId例如:

我的预订

<table cellspacing="3">
    <thead>
        <tr style="font-weight: bold;">
            <td>Date</td>
            <td>Time</td>
            <td>Seats</td>      
            <td></td>              
            <td></td>
        </tr>
    </thead>            
    <tr>
        <td style="width: 120px;">2008-12-27</td>
        <td style="width: 120px;">13:00 - 14:00</td>
        <td style="width: 100px;">2</td>
        <td style="width: 60px;"><a href="/Booking.aspx/Cancel/15">cancel</a></td>
        <td style="width: 80px;"><a href="/Booking.aspx/Change/15">change</a></td>
    </tr>            
    <tr>
        <td style="width: 120px;">2008-12-27</td>
        <td style="width: 120px;">15:00 - 16:00</td>
        <td style="width: 100px;">3</td>
        <td style="width: 60px;"><a href="/Booking.aspx/Cancel/10">cancel</a></td>
        <td style="width: 80px;"><a href="/Booking.aspx/Change/10">change</a></td>
    </tr>  
</table>

最好的是,如果我可以使用jQuery Dialog弹出一条消息,询问用户是否确定要取消预订。我一直在尝试使其工作,但我一直坚持如何创建一个接受参数的jQuery函数,以便我可以替换

<a href="/Booking.aspx/Cancel/10">cancel</a>

<a href="#" onclick="ShowDialog(10)">cancel</a>

ShowDialog然后,该函数将打开对话框,并将参数10传递给对话框,以便如果用户单击“是”,它将发布href:/Booking.aspx/Change/10

我已经在如下脚本中创建了jQuery对话框:

$(function() {
    $("#dialog").dialog({
        autoOpen: false,
        buttons: {
            "Yes": function() {
                alert("a Post to :/Booking.aspx/Cancel/10 would be so nice here instead of the alert");},
            "No": function() {$(this).dialog("close");}
        },
        modal: true,
        overlay: {
            opacity: 0.5,
            background: "black"
        }
    });
});

对话框本身:

   <div id="dialog" title="Cancel booking">Are you sure you want to cancel your booking?</div>

最后,我的问题是:我该如何完成?还是有更好的方法呢?


问题答案:

您可以这样:

  • <a>用一个班级标记“取消”
  • 通过对所有具有class =“ cancel”的元素进行操作来设置对话框:
    $('a.cancel').click(function() {
    

    var a = this;
    $(‘#myDialog’).dialog({
    buttons: {
    “Yes”: function() {
    window.location = a.href;
    }
    }
    });
    return false;
    });


(加上其他选项)

这里的关键点是:

  • 使它尽可能不引人注目
  • 如果您只需要URL,那么您已经在href中拥有它。

但是,我建议您将其设置为POST而不是GET,因为cancel操作具有副作用,因此不符合GET语义



 类似资料:
  • 如何将数据从活动传递到对话框? 有关更多详细信息,请参阅下图:

  • 我正在使用AngularMaterial2的对话框。 我想将数据传递给打开的组件。以下是单击按钮打开对话框的方式 在文档页面上有数据属性,但我在已安装的软件包中检查了MdDialogConfig。 配置类中没有数据属性。 现在我如何通过数据的访问?

  • 角度7.1,角度材料7.3 我正在尝试调用函数并传递一些值,它提示以下错误 未找到t1的组件工厂。您是否将其添加到@NgModule.entryComponents? 尽管包含在。但一旦将传递值移除为固定值,它就会工作。 但一旦我删除了该值并修复了<code>dialogRef。打开,它工作正常

  • 问题内容: 我正在尝试使用Django和D3.js编写非常基本的条形图。我有一个名为play的对象,其中datetime字段称为date。我想做的是显示按月分组的播放次数。基本上我有两个问题: 我如何按月份将这些分组,并计算当月的播放次数 将这些信息从Django转换为D3可用的最佳方法是什么。 现在,我在这里查看了其他答案,并尝试了 这接近于我想要的信息,但是当我尝试将其输出到模板中时,它在月末

  • 问题内容: 我知道如何使用jinja模板将数据从python传递到javascript,但是我想将javascript变量传递到python。我想这样做而无需重新加载页面。那可能吗? 问题答案: 是的,就像monkut所说的那样-我相信您想使用JSON和Javascript / jQuery。 这将允许从客户端到服务器的通讯,然后再返回。 我发现的最适用的示例是在Flask片段/模式中:http

  • 在一个DOM操作练习中,我学习了如何使用纯JavaScript创建HTML元素。也就是像这样的东西: 我必须创建一个函数,允许用户将对象作为参数传入,以设置元素的属性。这个对象包含任意数量的键(属性)和值(属性值)。即属性可以是“src”,值可以是“image.jpg”。类似的东西。用户可以在调用函数时向此对象传递任意多的属性。 附带说明,对代码和JS都很新,请原谅我:P