|
Mailing Lists
|
Home /
Groups /
ColdFusion Talk (CF-Talk)
saving jquery sort order for set method in CFC
Author: Teed Younger
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:64017#351637
Sorry if this is the wrong place, but given than Im using CFC's to create
database gets and sets, and have no luck in any js/jquery forums because most of
them dont understand CF, I thought I'd post here.
I have a sortable/drag and drop list(s). Meaning I can sort both list orders and
drag from the first list to the other. All that works pretty much. My issue is of
course I need to save the sort order with json data and update the database by
way of my setMediaEditAJAX method in my cfc. As I have it now, I can sort and
click the button and get a success alert, but a dump of my data shows the order
was not saved.
Maybe my method is incorrect, or maybe the js is incorrect. I'm really new to js,
so my bet would be the js. Its mostly code I found and copied, but here is the
code. I would appreciate any help given.
<div class="left">
<div id="songList">
<fieldset class="one">
<h3>All Songs</h3>
<div id="instructions">Drag and drop or re-order Tracks</div>
<div id="songList">
<ul id="sortable1" class='droptrue'>
<cfloop from="1" to="#variables.songData.songListCnt#" index="i">
<li class="ui-state-default"
id="article_1">#variables.songData.songList[i]# <input type="hidden"
name="prodID" value="#variables.songData.songList[i]#" /></li>
</cfloop>
</ul>
</div>
</fieldset>
</div>
</div>
</form>
<form name="trackListEdit" action="index.cfm?action=younger.albumsEdit"
method="post">
<div class="right">
<div id="trackList">
<fieldset class="two">
<h3>Tracks on - #variables.songData.albumName#</h3>
<div id="instructions">Drag and drop songs to upload and re-order
Album Tracks</div>
<ul id="sortable2" class='droptrue'>
<cfloop from="1" to="#variables.songData.trackListCnt#" index="i">
<li>#variables.songData.trackList[i]#<input type="hidden"
name="prodID" value="#variables.songData.trackList[i]#" /></li>
</cfloop>
</ul>
</fieldset>
</div>
<a id="save-button" class="button secondary" href="##">Edit</a>
</div>
<script language="JavaScript" type="text/javascript">
$(function() {
$("ul.droptrue").sortable({
connectWith: 'ul',
opacity: 0.6,
update : updatePostOrder
});
$("##sortable1, ##sortable2").disableSelection();
$("##sortable1, ##sortable2").css('minHeight',$("##sortable1").height()+"px");
updatePostOrder();
});
function updatePostOrder() {
var arr = [];
$("##sortable2 li").each(function(){
arr.push($(this).attr('id'));
});
$('##postOrder').val(arr.join(','));
}
$('##save-button').click(function() {
var ids = [];
$('##sortable2 > li.stories').each(function(el) {
ids.push($(this).attr('id'));
});
var id = $('##brsel option:selected').attr('value');
// var url = "index.cfm?action=younger.trackListEdit"+id;
$.ajax({
type: "POST",
url: "index.cfm?action=younger.trackListEdit"+id,
dataType: "json",
data: $("##wrapper form").serialize(),
success: function(){
alert("Changes been succesfully saved");
}});
});
</script>
Thanks in advance.
Author: Raymond Camden
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:64017#351638
So a few questions.
I see you have JS code to get the order out from the list. Have you
confirmed it does so correctly? Ie, if you console.dir($("##wrapper
form").serialize()) do you see the proper data there?
If so - the next thing to do is look at your CFC code and see how it
gets it. When jQuery does a serialize on form fields, it can create a
structure of data that doesn't always mesh well with CF. SO for
example, and I'm going by memory here so take this with a grain of
salt, it may pass fields like so:
name[1]=ray&name[2]=jay
While that works fine in PHP, it doesn't work well in CF. Normally I
write my own code to serialize the form data. Obviously though if you
take your CFM that you are calling and <cfdump> the form scope to a
file, you can see exactly what CF "got" when you posted your crap.
Make sense?
On Thu, Jun 21, 2012 at 10:23 AM, Teed Younger <teedyounger@hotmail.com>
wrote:
----- Excess quoted text cut - see Original Post for more -----
Author: Teed Younger
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:64017#351652
Ray, thanks for the attempt to help with such little information I provided. lol
I finally realized I was referencing the wrong view in th URL json data. Since I
was referencing the wrong view, which we set up in an xml file mapping, it was
never hitting the set method in my cfc.
Again, thanks!
----- Excess quoted text cut - see Original Post for more -----
|
June 19, 2013
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||