Reputation: 75
Got another wierd one:
Here is my php:
echo "</tr><tr>";
echo "<td style='color:white;'>".$row['iDesc']."</td><td>".$row['pCnt']."</td><td style='color:".$color.";'>".$row['pDur']."</td><td>".$row['pStr']."</td><td>".$row['pSpd']."</td><td>";
echo "<select name='wield".$row['pNum']."' id='wield".$row['pNum']."' size='1' style='width: 100px;' onChange='wieldit(".$row['pNum'].");'>";
echo "<option value=0>Use On";
$query = "Select item, iDesc from item where iType = 1";
$result2 = mysql_query($query, $_SESSION['connect']);
while ($row2 = mysql_fetch_array($result2)) {
echo "<option";
echo " value=".$row2['item'].">".$row2['iDesc']."</option>";
}
echo "</select></td>";
}
Here is my js:
function wieldit(num) {
var id = "wield"+num;
var e = $(id);
var t = e.options[e.selectedIndex].value;
var params = "sWield="+t;
params += "&sNum="+num;
new Ajax.Updater('div06', 'php/pack.php', {method: 'get', parameters: params, onComplete: showBody});
}
When I run it the values in the select box are 0, 1, 2, 26, 25,24, 23, 31. For the example I'm running $row['pNum'] = 6 and I'm selecting select value 31. When I do alert on params in the js sWield = 0 and sNum = 6. The thing is, sWield should be 31. Ideas?. If I run with different values, say $row['pNum'] = 11 and select value 25 in the js sWield = 25 and sNum is 11 the way it should be. Ideas?
Upvotes: 3
Views: 242
Reputation: 541
Value 31 is the 7th option in your selectbox. As Javascript starts counting from 0, it's displaying 6.
So it seems it alerts the index in stead of the chosen value.
You could try to try this, and put quotes around the value:
<option value='31'>Arms</option>
Upvotes: 0
Reputation: 541
You are not closing the first option
echo "<option value=0>Use On</option>";
Try closing this one first!
Upvotes: 3