[英]Why doesn't my script accept characters?
在我的SQL中,回显$ row ['ans']的类型为varchar(11):JAN,FEB,MAR,APR。 我现在确实知道为什么它不会显示出来,但是当我将JAN,FEB,MAR,APR更改为数字时,它就可以工作了。 请把你的知识和理解传授给我。 谢谢!
选择框
var months = [<?php echo '"'.implode('","',explode(",",$rows['ans'])).'"'; ?> ];
months.sort( function() { return Math.random() - .5 } );
for ( var i=0; i<4; i++ ) {
$('<div>' + months[i] + '</div>').data( 'months', i ).appendTo( '#monthPile' ).draggable( {
//containment: '#content',
stack: '#monthPile div',
cursor: 'move',
revert: true
} );
}
创建插槽
var slot = [<?php echo '"'.implode('","',explode(",",$rows['ans'])).'"'; ?> ];
for ( var i=0; i<=3; i++ ) {
$('<div>' + slot[i] + '</div>').data( 'months', i ).appendTo( '#monthSlots' ).droppable( {
accept: '#monthPile div',
hoverClass: 'hovered',
drop: handleCardDrop
} );
}
}
在将字符串注入javascript时,您需要在这些字符周围加上“”以告知其为字符串。 您的数字有效,因为没有使用“” javascript会将那些字符解释为数字。 尝试使用php implode函数在数组中的字符串周围添加双引号(这是假设$ row ['ans']持有数组)
更新工作示例:
<?php
$rows = array(
"ans" => "JAN,FEB,MAR"
);
?>
<html>
<body>
<script type="text/javascript">
var test = [<?php echo '"'. implode('","',explode(",",$rows['ans'])) . '"'; ?>];
document.write(test.toString());
</script>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.