我想访问我隐藏在页面底部的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');
}
请帮忙。
答案 0 :(得分: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');
}
P.S。您有没有echo
将json_encode
d数组直接导入脚本的原因?
<script>var existing_user_array = <?php echo json_encode($existing_user); ?></script>
这样你就不必在DOM中钓鱼了,你甚至不需要解析JSON(只要确保在页面上包含其他脚本之前生成这个脚本,所以在您尝试使用之前填充existing_user_array
。)
* JSON.parse
在IE7及以下版本中不可用。如果您必须采用此路线并且必须支持这些旧浏览器,请确保包含Crockford's json2 library。