jquery - 使用 jQuery 在文本框中单击打开窗口

标签 jquery asp.net-mvc jquery-ui-dialog

我想创建一个类似于 www.redfin.com 的功能他们的搜索页面上有。当用户单击文本框时,将打开搜索表单。

我正在使用 MVC 和 jQuery,但不知道如何去做。我尝试使用对话框插件,但由于某种原因该对话框只打开一次。

<input id="txtSearch" type="text" />
<div id="searchForm" title="Dialog Title">I am a dialog</div>

$("#txtSearch").click(function() {
    // Show form
    $("#searchForm").dialog();
});

但是,在常规网站中,该对话框甚至不会打开。

$("#txtSearch").click(function() {
        // Show form
        $("#searchForm").dialog();
    });

使用焦点或单击似乎具有相同的效果。该对话框仅打开一次。当我关闭它并再次单击文本框时,没有对话框。

我是否使用正确的方法来完成这项任务? 有 sample 吗? 欢迎提出建议。

该对话框可能不是最佳选择,因为它创建了标题。我想知道我还可以使用什么,因为我还想通过 ajax 发布表单并在同一页面上显示结果。

谢谢

最佳答案

并且您想确保将事件绑定(bind)包装在文档准备好的脚本中(您可能已经在这样做,但我只是指出它,因为它不在您的示例代码中,以防万一)

$(document).ready(function() {
    $("#txtSearch").click(function() {
        // Show form
        $("#searchForm").dialog();
    });
});

编辑

$("#searchForm").dialog();我认为仅将对话框注册到搜索表单

我认为您可能需要调用对话框 show() 和 hide() 才能使其显示和消失。我用过jqModal之前不得不这样做

$(document).ready(function() {
    $("#searchForm").jqm({modal: true}); //register this div as a modal

    $("#txtSearch").click(function() {
        // Show form
        $("#searchForm").jqmShow(); //show div
    });
});

稍后,要关闭模式,您可以调用

$("#searchForm").jqmHide();

关于jquery - 使用 jQuery 在文本框中单击打开窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/687663/

相关文章:

php - 如何通过AJAX或序列化表单发送Formdata

javascript - 如何动态创建多个Jquery颜色选择器(eyecon)?

javascript - 3 秒后刷新对 Controller 的 JavaScript 和 Ajax 调用,无需在 MVC 4 中的 Razor View 中进行任何单击

jquery - 如何在我的模型中对图表数据进行硬编码,然后让我的 Controller 从那里拉出它来显示它。使用 Highcharts

javascript - 如何在 jQuery UI 对话框上设置包含?

jQuery 用户界面 : how to reset dialog title?

asp.net-mvc-3 - 通过使用 jQuery 脚本调用 URL.Action 生成的 URI 中的转义字符

javascript - 当我将 javascript 警报放在任何地方之间时,代码就可以工作

javascript - 每次点击的总和

c# - ASP.NET MVC 在运行时查看可扩展性