在选择选项中使用JSON数组
Using JSON Arrays in Select Options
我有一个选择框,其中的选项遵循以下格式:
<select id="acctg_dept" name="acctg_dept">
<option value="{'acctg_dept_nbr':'2','acctg_dept_desc':'ELECTRONICS'}">02 - ELECTRONICS</option>
...
</select>
我试图通过ajax传递两个值,像这样。我已经尝试过和没有将acctg_dept
声明为数组。
var acctg_dept = [];
acctg_dept = $('#acctg_dept').val();
$.ajax({
type : 'post',
url : url,
data : {acctg_dept: JSON.stringify(acctg_dept)},
dataType : "data",
...
现在我在那里有stringify,但没有尝试过,仍然有问题…
ajax调用PHP页面完成以下操作:
$acctg_dept = $_REQUEST['acctg_dept'];
$acctg_dept = json_decode("$acctg_dept",true);
再次,我已经尝试了几种不同的方式,仍然没有得到我正在寻找的结果,这是能够在相同的PHP脚本中执行以下操作。
$acctg_dept_nbr = $acctg_dept['acctg_dept_nbr'];
使用这里概述的方法,我得到非法字符串偏移量。我已经尝试了每一个和$acctg_dept[0]['acctg_dept_nbr'];
,但没有任何进展。我认为PHP不认为它是一个数组,但我不确定为什么不。
您可以尝试但不测试…
html代码
<select id="acctg_dept" name="acctg_dept">
<option value='{"acctg_dept_nbr":"2","acctg_dept_desc":"ELECTRONICS"}'>ELC</option>
</select>
ajax调用到您的服务器PHP文件
var acctg_dept = [];
acctg_dept = $('#acctg_dept').val();
$.ajax({
type : 'post',
url : url,
data : {acctg_dept: acctg_dept}, //don't stringify it
success:function(data){
console.log(data);
}
});
在服务器端尝试捕获post数据
print "<pre>";
print_r($_POST);
die;
相关文章:
- 需要帮助设置json数组
- 如何使用 node.js 比较两个 json 数组
- 根据id将json数组组合为一个json数组
- 如何创建JSON数组
- 如何将package.json数组传递给grunt.js
- 访问json数组中的对象
- JSON数组数据返回Undefined
- 如何向JSON数组动态添加属性
- 如何从json数组中获取特定值
- 从多维嵌套json数组创建下拉列表
- 在ListView中添加JSON数组中存储的图像-ReactNative
- jquery在json数组中循环
- 将 JSON 数组解析为 JavaScript 数组
- 如何在php中读取没有任何键的JSON数组
- 如何在Jquery中迭代JSON数组
- 如何在cycle js中从JSON数组创建组件
- 如何使用jquery返回php-json数组对象
- JSON数组转换为JS对象数组
- 使用System从C#集合创建JSON数组.网状物剧本序列化
- 使用Underscore.js修改json数组中所选元素的更有效方法