我有 2 个选择,其中第二个应该根据第一个选择的内容填充。但我无法完全让它发挥作用。如果我dataType: 'Json'在调用中使用,它会得到一个解析器错误,如果我删除它,我可以让它在测试选择上执行空部分。所以我一定有某种解析错误,我无法将其附加到测试选择中。我该如何解决这些问题?第一个是这样创建的:<select size="1" id="farvestandard" name="farvestandard" class="listform ays-ignore" style="width: 155px;"><?php $farveid = $res['r54']; $farvesql = "select * from farvekoder group by farvestandard"; $farvequery = mysql_query("$farvesql") or die(mysql_error); while($farverow = mysql_fetch_array($farvequery, MYSQL_ASSOC)) { $select = ''; if ($farverow['farvestandard'] == $res['farvestandard']) $select = ' selected'; ?> <option value="<?php echo $farverow['farvestandard']; ?>" <?php echo $select; ?>> <?php echo $farverow['farvestandard']; ?> </option> <?php }?></select>和第二个,应该根据第一个中的选择填充。<select name="test" id="test"> <option value="">-- select one -- </option></select>jQuery 脚本<script> $("#farvestandard").change(function() { var farvestandardID = $(this).val(); if (farvestandardID) { $.ajax({ url: "/farvekoderajax.php", dataType: 'Json', data: { 'id': farvestandardID }, success: function(data) { console.log("success"); $('select[id="test"]').empty(); $('select[id="test"]').append('<option value="">Vælg farvekode</option>'); $.each(data, function(key, value) { $('select[id="test"]').append('<option value="' + key + '">' + value + '</option>'); }); }, error: function(data, error) { console.log(arguments); } }); }});</script>看不出有什么问题,这就是它应该填充测试的内容。如果我删除,datatype:json我会收到以下错误:类型错误:'in' 的右侧应该是一个对象,得到字符串
1 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
我不得不像这样将数据解析为 json
$.each(JSON.parse(data), function(key, value) {}
并在它工作之前删除 datatype:json 。
- 1 回答
- 0 关注
- 188 浏览
添加回答
举报
0/150
提交
取消