这是我的问题。我正在查询数据库以获取与该唯一编号相关联的编号和文本。
<select id="acct" name="acct" onchange="updateAcctnum(this.value, this.id);">
<option value='None'></option>
<?php
$sql = 'select cast(trim(k00001) as char(13) ccsid 37),
cast(trim(substr(f00001,14-13,31)) as char(13) ccsid 37)
from QS36F."BD.BMST"
where cast(trim(substr(f00001,48-13,13)) as char(13) ccsid 37) =
'. "'".B001."'" ;
$result = db2_exec($conn, $sql);
while ($row = db2_fetch_array($result)) {
$acctnum = $row[0];
$acctname = $row[1];
echo "<option value=" . $acctnum . ">" . $acctname . " -- "
. $acctnum . "</option>";
}
?>
我将第0行与第1行连接起来,得到类似“B001 1 - Health”的内容。这部分工作正常。 但后来我使用javascript来获取数字。$ acctnum或第0行。我正在使用此代码。
function updateAcctnum(val) {
var actnum = document.getElementById('acct').value;
document.getElementById('acctnum').value = actnum;
alert(actnum);
}
当此变量传递给javascript时,它会丢失空格后的空格和数字。有谁知道造成这种情况的原因以及如何解决这个问题?
感谢。
答案 0 :(得分:2)
问题在于:
echo "<option value=" . $acctnum . ">";
在输出的HTML中会产生类似<option value=B001 1>
的内容。您需要引用该值:
echo "<option value='" . $acctnum . "'>";
^ ^