我已经设置了一个jQuery UI模式对话框,以便在用户单击链接时显示.在该对话框div标签中有两个文本框(我只为简洁显示1的代码),它被更改为对焦点做出反应的jQuery UI DatePicker文本框.
问题是jQuery UI对话框('open')以某种方式触发第一个文本框具有焦点,然后触发datepicker日历立即打开.
所以我正在寻找一种方法来防止焦点自动发生.
<div><a id="lnkAddReservation" href="#">Add reservation</a></div>
<div id="divNewReservation" style="display:none" title="Add reservation">
<table>
<tr>
<th><asp:Label AssociatedControlID="txtStartDate" runat="server" Text="Start date" /></th>
<td>
<asp:TextBox ID="txtStartDate" runat="server" CssClass="datepicker" />
</td>
</tr>
</table>
<div>
<asp:Button ID="btnAddReservation" runat="server" OnClick="btnAddReservation_Click" Text="Add reservation" />
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
var dlg = $('#divNewReservation');
$('.datepicker').datepicker({ duration: '' });
dlg.dialog({ autoOpen:false, modal: true, width:400 });
$('#lnkAddReservation').click(function() { dlg.dialog('open'); return false; });
dlg.parent().appendTo(jQuery("form:first"));
});
</script>
Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery UI进行排序,以使我的表格网格可排序.代码似乎工作正常,但因为我没有向tds 添加宽度,当我拖动tr它缩小内容.
例如; 如果我开始拖动时表格行为500px,则变为300px.我假设发生了这种情况,因为网格中没有定义宽度.那是因为我为tds(fix和liquid)使用了两个类.
的fix类使得td等于所述内容的宽度和liquid使td宽度100%.这是我对网格表的方法,而不必为tds 分配宽度.
知道如何使用我的方法进行可排序的工作吗?
我尝试使用JQuery UI Dialog来替换丑陋的javascript:alert()盒子.在我的场景中,我有一个项目列表,并且在每个项目的旁边,我会为每个项目都有一个"删除"按钮.psuedo html设置将是以下内容:
<ul>
<li>ITEM <a href="url/to/remove"> <span>$itemId</span>
<li>ITEM <a href="url/to/remove"><span>$itemId</span>
<li>ITEM <a href="url/to/remove"><span>$itemId</span>
</ul>
<div id="confirmDialog">Are you sure?</div>
Run Code Online (Sandbox Code Playgroud)
在JQ部分,在文档准备好的时候,我首先将div设置为带有必要按钮的模态对话框,然后将那些"a"设置为在删除前触发确认,如:
$("ul li a").click(function() {
// Show the dialog
return false; // to prevent the browser actually following the links!
}
Run Code Online (Sandbox Code Playgroud)
好的,这是问题所在.在初始化时,对话框将不知道谁(项目)将启动它,以及项目ID(!).如何设置这些确认按钮的行为,如果用户仍然选择YES,它将按照链接删除它?
我想知道输入是否是复选框,以下内容不起作用:
$("#myinput").attr('checked') === undefined
Run Code Online (Sandbox Code Playgroud)
再一次谢谢你!
当元素在可排序列表中的位置发生变化时,如何跟踪元素的位置?
如何禁用jQuery UI对话框上的按钮.我似乎无法在上面链接的任何文档中找到它.
我在模态确认上有2个按钮("确认"和"取消").在某些情况下,我想禁用"确认"按钮.
我在查找具体信息和示例方面遇到了很多麻烦.我的应用程序中有许多jQuery UI对话框,附加到加载了.ajax()调用的div.它们都使用相同的设置调用:
$(".mydialog").dialog({
autoOpen: false,
resizable: false,
modal: true
});
Run Code Online (Sandbox Code Playgroud)
我只想让对话框调整到加载内容的宽度.现在,宽度只保持300px(默认值),我得到一个水平滚动条.
据我所知,"autoResize"不再是对话框的选项,当我指定它时没有任何反应.
我试图不为每个对话框编写单独的函数,因此.dialog("option", "width", "500")不是一个真正的选项,因为每个对话框将具有不同的宽度.
指定width: 'auto'对话框选项只会使对话框占据浏览器窗口宽度的100%.
我有什么选择?我正在使用jQuery 1.4.1与jQuery UI 1.8rc1.看起来这应该是非常简单的事情.
编辑:我为此实施了一个kludgy解决方法,但我仍在寻找更好的解决方案.
我正在尝试将KnockoutJS与jQuery UI一起使用.我有一个带有日期选择器的输入元素.我目前正在运行knockout.debug.1.2.1.js,似乎更改事件永远不会被Knockout捕获.元素看起来像这样:
<input type="text" class="date" data-bind="value: RedemptionExpiration"/>
Run Code Online (Sandbox Code Playgroud)
我甚至尝试改变valueUpdate事件类型但无济于事.Chrome似乎focus在更改值之前导致事件,但IE不会.
是否有一些"重新绑定所有绑定"的Knockout方法?从技术上讲,我只需要在将其发送回服务器之前更改值.所以我可以忍受这种解决方法.
我认为问题是datepicker的错,但我无法弄清楚如何解决这个问题.
有任何想法吗?
我已经能够获得一些工具提示,最终使用以下代码:
<a href="#" rel="tooltip" title="Tool tip text here">Hover over me</a>
Run Code Online (Sandbox Code Playgroud)
然后
<script>
$('[rel=tooltip]').tooltip();
</script>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它使用的是jQueryUI工具提示(没有箭头,大丑陋的工具提示)而不是Bootstraps.
我需要做些什么来使用Bootstrap工具提示而不是jQueryUI?
当ajax操作失败时,我创建一个带有错误的新div,然后将其显示为对话框.当对话框关闭时,我想彻底销毁并再次移除div.我怎样才能做到这一点?我的代码目前看起来像这样:
$('<div>We failed</div>')
.dialog(
{
title: 'Error',
close: function(event, ui)
{
$(this).destroy().remove();
}
});
Run Code Online (Sandbox Code Playgroud)
当我运行它时,对话框显示正确,但是当我关闭它时,对话框仍然在html中可见(使用FireBug).我在这里错过了什么?我忘记了什么?
更新:刚刚注意到我的代码在firebug控制台中给了我一个错误.
$(this).destroy不是函数
有人能帮帮我吗?
更新:如果我这样做$(this).remove(),该项目将从html中删除.但它是否完全从DOM中删除?或者我是否还需要首先调用destroy函数?