我在html输入字段中使用PHP设置数组,并最终将该数组发送到jquery函数。
这没有用,所以我然后继续使用json_encode并以这种方式发送。但是,由于我在html字段(名称)中设置了它,因此由于字符的原因它不会呈现。然后,我通过使用htmlspecialchars使它工作。
//html php
<input type="checkbox" name="<?php echo htmlspecialchars(json_encode($row)); ?>" />
//jquery
var arr = $('#someAssetDiv input:checkbox:checked').map(function(){
return $(this).attr('name');
}).get();
console.log(JSON.stringify(arr));
//which sends back what I need but I am applying htmlspecialchars
但是,我的问题是,在jquery方面-如何在应用htmlspecialchars之前将其修改回标准对象?
我的最终目标是遍历每个发送的对象并与它们共舞。
我没有发现Jquery lib中内置的东西吗?提前致谢!
由于您没有该示例$row
,在这种情况下,我将创建一个样本数据。在这种情况下,您可以使用$.parseJSON
jQuery。输出
<?php
// PHP
$values = array(
array('id' => 1, 'name' => 'test1'),
array('id' => 2, 'name' => 'test2'),
);
?>
<!-- form with echoed with json encode -->
<form method="POST">
<input type="hidden" name="array" value="<?php echo htmlspecialchars(json_encode($values)); ?>" />
<button type="button" id="button">Test</button>
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#button').on('click', function(){
var json_value = $('input[name="array"]').val();
json_value = $.parseJSON(json_value);
console.log(json_value);
});
});
</script>
但是我建议您是否要在服务器上添加一些数据,请$.ajax
改用,然后映射返回值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句