-1

我想访问隐藏在页面底部的 div。$existing_user 是一个数组,div 是隐藏的。

<div id="existing_user"><?php echo json_encode($existing_user); ?></div>

然后我试图将 div 与用户生成的输入进行比较。

<input type='text' name='user_name' id='user_name' />

这是我的 jQuery 代码:

var existing_user_string = $('#existing_user').text();
var existing_user_array = explode(",",existing_user_string);

if (jQuery.inArray($('#fruit').val(),existing_user_array) == -1) {
    alert('no way this worked');
    }

请帮忙。

4

1 回答 1

3

JavaScript 没有explode函数。要获取用户数组,请使用JSON.parse*:

var existing_user_array = JSON.parse( $('#existing_user').text() );

if (jQuery.inArray($('#fruit').val(),existing_user_array) == -1) {
    alert('no way this worked');
}

PS您没有echojson_encoded 数组直接写入脚本的任何原因?

<script>var existing_user_array = <?php echo json_encode($existing_user); ?></script>

这样您就不必在 DOM 中钓鱼,甚至不必解析 JSON(只需确保在页面中包含其他脚本之前生成此脚本,这样existing_user_array就是在您尝试使用它之前填充)。

*JSON.parse在 IE7 及以下版本中不可用。如果您必须走这条路并且必须支持那些旧浏览器,请务必包含Crockford 的 json2 库

于 2013-01-13T08:14:10.553 回答