gpt4 book ai didi

javascript - 如何修复损坏的 JQueryUI Datepicker

转载 作者:行者123 更新时间:2023-11-28 02:37:30 25 4
gpt4 key购买 nike

我有一个 JQueryUI 日期选择器定义如下:

$(function() {
$(".visit_date").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: "yy-mm-dd"
});
});

生成日期选择器文本框的 View 代码是

<td><%= f.label :visit_date %></td>
<td><%= text_field_tag :visit_date, @visit.visit_date, :class => 'visit_date'

渲染时, View 在标签之间生成,如下所示:

<div id="action_window">
(rendered HTML to be acted on by user)
</div>

为什么 Javascript 选择器“.visit_date”不与此 View Hook ?换句话说,如果没有“action_window”标签,它就可以工作。我的想法是“.visit_date”将与类“visit_date”匹配。

======================更新于 11/7/2012。 JavaScript 代码:

$(function() {
$("#visit_date").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: "yy-mm-dd"
});

});

用户按下按钮的原始位置:

<%= link_to "Add Visit", new_client_visit_path(@client), :remote => true, :class => "btn btn-primary btn-large" %>

在 VisitsController 中:

respond_to do |format|
format.html
format.js { }
end

在views/visits/new.js.erb中:

$('#action_window').html('<%= escape_javascript render(:partial => "new") %>');
$('#action_window').show;

(#action_window 是客户端索引 View 中的一个 div)

在views/visits/_new.html.erb中:

<%= render "form" %>
<%= link_to "Cancel", @client, :class => "btn btn-primary btn-large" %>

在views/visits/_form.html.erb中:

%= form_for [@client, @visit] do |f| %>
<td><%= text_field_tag :visit_date, @visit.visit_date, :class => 'visit_date' %>

我无法让 Datepicker 工作,大概是因为创建“New Visit” View 的 HTML 已渲染,并且不知何故,如果没有将“hasDatepicker”添加到类中,JQueryUI 就无法关联它。

最佳答案

我认为你对类选择器的假设是正确的。根据我的经验,日期选择器应该连接到您选择的任何类/id,无论它包含什么 div。我会检查这些事情:

  1. 确保您没有错误地拥有两个 jQuery 标签。我这样做了,但日期选择器不起作用。

  2. 这段代码之前是否有任何 javascript 代码被破坏?我认为只要遇到第一个错误,JS 执行就会停止。我会在 Chrome 中打开页面,右键单击检查元素,然后查看控制台以查看是否有任何 JS 错误。

这些建议基于这样的假设:您的 Rails 代码正在生成 class="visit_date"的输入标记。

关于javascript - 如何修复损坏的 JQueryUI Datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13240776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com