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>";
}
这是我的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});
}
当我运行它时,选择框中的值为0、1、2、26、25、24、23、31。例如,我正在运行$row['pNum'] = 6,并选择选择值31。当我在js上执行params的alert时,sWield = 0且sNum = 6。问题是,sWield应该是31。有什么想法?如果我使用不同的值运行,比如$row['pNum'] = 11并选择值25,在js中sWield = 25,sNum是11,这样就应该了。有什么想法吗?
$row['pNum'] = 6
的 value= 值没有被传递到 wieldit() 函数中。 - wzubecho "</tr><tr>";
替换为</tr><tr>
。 - Matisse VerDuyn