/ / Jak korzystać z datepicker JQuery w prostej aplikacji Rails? - jquery, ruby-rails, ajax, datepicker

Jak korzystać z datepicker JQuery w prostej aplikacji Rails? - jquery, ruby-rails, ajax, datepicker

Jestem początkującym, jeśli chodzi o Ruby On Rails (iprogramowanie internetowe w ogóle). Pochodzę z typowego tła programowania pulpitu. Napisałem kilka prostych aplikacji szyny, ale jest to moja pierwsza próba użycia Rails3 i mojego pierwszego użycia jQuery.

Mam problem ze zrozumieniem, jak się połączyćmój datepicker jQuery do mojej aplikacji Rails. Jestem pewien, że po prostu nie rozumiem czegoś podstawowego, więc proszę popraw wszystko, co widzisz źle w moim kodzie, lub wskaż mi dobre odniesienie wyjaśniające to.

Moja aplikacja wyświetla dane z bazy danychza pomocą funkcji indeksu, bez modyfikacji z domyślnego kodu szyny. Na pasku bocznym umieszczam 2 znaczniki danych jQuery, których chcę użyć do filtrowania tych danych na podstawie daty. Chcę, aby strona była aktualizowana po wybraniu daty w selektorze dat, a nie po kliknięciu przycisku w formularzu.

Te datepickery wyglądają dobrze, ale nie wiem, jak poprawnie połączyć je z aplikacją mojej szyny. Oto kod:

<script type="text/javascript">
$(function() {
$("#from_filter").datepicker({
showOn: "both",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
onSelect: function(date,inst) {
}
});

$("#to_filter").datepicker({
showOn: "both",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
onSelect: function(date,inst) {
}
});
});
</script>
<div id="sidebarwindow">
<div id="sidebarwindowheader">Date Filter</div>
<table id="hor-zebra">
<tr>
<td><label for="from_filter">From:</label></td>
<td><div id="datepicker"><%= text_field_tag "from_filter" %></div></td>
</tr>
<tr>
<td><label for="to_filter">To:</label></td>
<td><div id="datepicker"><%= text_field_tag "to_filter" %></div></td>
</tr>
</table>
</div>

Mam dość google, ale gubię sięszybko jak większość przykładów jQuery -> Rails wydaje się skupiać na użyciu formularzy, a tutaj nie chcę.Zdaliłem z alertem (), że onSelect () działa poprawnie, ale nie wiem jak zadzwonić mój kontroler Railsów z tej funkcji.

Zasadniczo chcę wybrać datę, a następnie ponownie wyrenderować części na stronie, o której wiem, że należy zaktualizować. Może po prostu nie rozumiem w pełni AJAX / jQuery / Rails?

Odpowiedzi:

1 dla odpowiedzi № 1

Zasadniczo Twoim problemem jest to, że nie wiesz, co umieścić w środku OnSelect funkcjonować.

Tam nazwałbym ajax Funkcja jQuery do wywołania kontrolera, a następnie użyj funkcji wywołania zwrotnego, aby dodać potrzebny kod HTML.

$.ajax({ url: "/mycontroller/myaction", context: document.body, success: function(){
$(this).addClass("done");
}});

Więcej informacji: