繁体   English   中英

为什么我的脚本不接受字符?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM