我有 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' 的右侧应该是一个对象,得到字符串
千万里不及你