Solved

js help with uploadify scriptdata

Posted on 2012-03-15
10
528 Views
Last Modified: 2012-03-21
How can I get the correct value from a dropdown. I can only get the first one in the list. In this case no matter what i select I get albumID=4 as it is the first in the list.

Code from Uploadify
'scriptData'	: {
          "success_action_status"		: "201",
          "userID"                                : "<?= $userID ?>",
	  "albumID"                             : $('#albumID').val()						
},

Open in new window


Code from Dynamic Dropdown
echo "Select an album.<br/>";
echo "<select name='albumID' id='albumID'>";					
while($row = mysql_fetch_array($result)){
      echo "<option value=".$row['id'].">$row[albumName]</option>"; 
}
echo "</select>";

Open in new window


Static view of Dropdown
<select name="albumID" id="albumID">
<option value="4">Game Images</option>
<option value="3">Game Videos</option>
<option value="5">Personal</option>
</select>
0
Comment
Question by:UltraFlux
  • 5
  • 3
  • 2
10 Comments
 
LVL 34

Expert Comment

by:gr8gonzo
ID: 37728990
1. View the source and search for "albumID" to check to make sure there's no other <input> with that same ID.

2. Try:
$('#albumID option:selected').val()
It should be the same thing, but it's a little more defined.

3. If you still get ID=4 after trying #2, then it could be an issue with the timing / order-of-events (e.g. the code is running while the dropdown value has not yet changed to its real value). I'm not sure when the code is running...?
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 37729064
>  echo "<option value=".$row['id'].">$row[albumName]</option>";

do you probably want:

    echo "<option value=".$row['id'].">".$row['albumName']."</option>";
0
 

Author Comment

by:UltraFlux
ID: 37733258
Hi gr8gonzo and ahoffann,

Tried
$('#albumID option:selected').val()
Still saved id = 4

Not sure what to do still stuck...
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 37733273
what about my "echo ... " suggestion?
0
 

Author Comment

by:UltraFlux
ID: 37733314
same, no improvement

if($numalbums > 0){
  echo 'Select an album.<br/>';
  echo "<select name='albumID' id='albumID' width='200px'>";					
    while($row = mysql_fetch_array($result)){					
      echo "<option value=".$row['id'].">$row[albumName]</option>"; 
    }
  echo "</select>";
}

Open in new window

0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 51

Expert Comment

by:ahoffmann
ID: 37734265
please read my suggestion ID: 37729064 again
please make yourself used to the change I suggested, and test it
0
 

Author Comment

by:UltraFlux
ID: 37744420
I did test it as I said above. Nothing changed, still saves id=4
0
 
LVL 34

Accepted Solution

by:
gr8gonzo earned 500 total points
ID: 37744516
Oh I see what's happening. The scriptData is evaluating at the time that the page loads, so it's setting itself to 4 at the beginning of the page load when uploadify is setting up, but when the <select> option changes, you are not sending the updated value back to scriptData, so it stays on the original value at page load.

You'll need to do something like this:

Change: <select name='albumID' id='albumID'>
To: <select name='albumID' id='albumID' onChange="updateScriptData();">

Then add this Javascript function:

function updateScriptData()
{
  // Pull existing settings
  scriptData = $('#file_upload').uploadifySettings('scriptData');

  // Update the album ID to the <select>ed option
  scriptData.albumID = $('#albumID').val();

  // Update the settings
  $('#file_upload').uploadifySettings('scriptData',scriptData);
}

Documentation:
http://www.uploadify.com/documentation/methods/uploadifysettings/
0
 

Author Comment

by:UltraFlux
ID: 37748106
WORKS!
0
 

Author Closing Comment

by:UltraFlux
ID: 37748111
Thanks a lot  gr8gonzo!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
JavaScript export function not working in IE 15 38
jQuery Validate 4 22
.htaccess 5 22
Google Sheets script efficiency 2 4
I've been asked to discuss some of the UX activities that I'm using with my team. Here I will share some details about how we approach UX projects.
This article discusses four methods for overlaying images in a container on a web page
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now