Solved

js help with uploadify scriptdata

Posted on 2012-03-15
10
539 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
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
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
 
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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.
When crafting your “Why Us” page, there are a plethora of pitfalls to avoid. Follow these five tips, and you’ll be well on your way to creating an effective 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…
This video teaches users how to migrate an existing Wordpress website to a new domain.

792 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