从PHP到javascript获取数组值
如何从php到javascript获取数组值,并将该值用于javascript中的其他函数? 以下是我的源代码:从PHP到javascript获取数组值,php,javascript,arrays,Php,Javascript,Arrays,如何从php到javascript获取数组值,并将该值用于javascript中的其他函数? 以下是我的源代码: <?php $sSql = "SELECT * from contactinfo order by description, nama_cp"; $r1 = $dbconn->execute ($sSql); $idset=array(); $no=1; while (($r1) && (!$r1->EOF)
<?php
$sSql = "SELECT * from contactinfo order by description, nama_cp";
$r1 = $dbconn->execute ($sSql);
$idset=array();
$no=1;
while (($r1) && (!$r1->EOF)) {
$s1 = $r1->GetRowAssoc(false);
$idset[$no]=$s1[id];
$no++;
}
?>
<script type="text/javascript">
function getdata(valarray){
//source..
}
$(document).ready(function() {
var line=<?php echo($no); ?>;
var i;
for(i=1;i<line;i++){
$("#action"+i).click(function() {//button, that named with action+int
//var valarray = ??? -------->value of array idset;
getdata(valarray);//use data array for other function..
});
}
});
</script>
函数getdata(valarray){
//来源。。
}
$(文档).ready(函数(){
var行=;
var i;
对于(i=1;数组idset的值;
getdata(valarray);//将数据数组用于其他函数。。
});
}
});
在这段代码中,我想在函数getdata()中使用valarray。
var-valarray=
var-valarray=
您可以在回答这个问题时使用json\u编码:
如果您不知道/不想使用json,那么您只需要考虑php是如何工作的。它在发送到浏览器之前由服务器进行处理,因此,如果您希望php中的任何内容在javascript中可用,则必须按如下方式打印:
<?php
$myArr = array();
// add stuff to $myArr
echo '<script type="text/javascript">\n';
echo 'var myJSArr = new Array();\n';
$count = 0;
foreach($myArr as $myItem) {
echo 'myJSArr[' . $count . '] = ' . $myItem . ';\n';
$count += 1;
}
echo '</script>\n'
?>
请记住,如果您想使用上述方法将字符串值从php发送到javascript,您还需要打印其周围的引号(“)。如果生成的javascript语法不起作用,您可以使用浏览器视图源检查生成的javascript语法。您可以使用json_encode,如回答此问题时所示: 如果您不知道/不想使用json,那么您只需要考虑php是如何工作的。它在发送到浏览器之前由服务器进行处理,因此,如果您希望php中的任何内容在javascript中可用,您必须这样打印:
<?php
$myArr = array();
// add stuff to $myArr
echo '<script type="text/javascript">\n';
echo 'var myJSArr = new Array();\n';
$count = 0;
foreach($myArr as $myItem) {
echo 'myJSArr[' . $count . '] = ' . $myItem . ';\n';
$count += 1;
}
echo '</script>\n'
?>
请记住,如果要使用上述方法将字符串值从php发送到javascript,还需要打印其周围的引号(“)。如果生成的javascript语法不起作用,您可以使用浏览器视图源来检查它。以下是您的解决方案:
var valarray = <?php echo json_encode($idset); ?>;
console.log('we got: '+ valarray)
var-valarray=;
log('我们得到:'+valarray)
使用alert时,您可以看到结果,因为它是json而不是测试。您最好使用Chrome开发工具(或FF上的Firebug),并在控制台中查看结果。以下是您的解决方案:
var valarray = <?php echo json_encode($idset); ?>;
console.log('we got: '+ valarray)
var-valarray=;
log('我们得到:'+valarray)
使用alert时,您可以看到结果,因为它是json而不是测试。您最好使用Chrome开发工具(或FF上的Firebug)并在控制台中查看结果。我曾尝试过,但使用时:alert(valarray[i]);为了检查结果,返回“未定义”值。。也许我使用了我不知道的错误代码。如果你知道Javascript语法,只需使用浏览器的视图源代码来确保它看起来是正确的。我回显换行符(\n)以将新行打印到源代码(而不是屏幕)以使代码看起来干净。我写的代码可能有错误,如果您需要帮助,请随时发布您的代码;为了检查结果,返回“未定义”值。。也许我使用了我不知道的错误代码。如果你知道Javascript语法,只需使用浏览器的视图源代码来确保它看起来是正确的。我回显换行符(\n)以将新行打印到源代码(而不是屏幕)以使代码看起来干净。我写的代码中可能有错误,如果需要帮助,请随时发布代码;警报(valarray[i]);//检查值,但返回“未定义”值。我是否使用了错误的代码;警报(valarray[i]);//检查值,但返回“未定义”值。我用错代码了吗?