为了账号安全,请及时绑定邮箱和手机立即绑定

JQuery 不更新选择

JQuery 不更新选择

PHP
哈士奇WWW 2021-09-18 21:44:59
我有 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 。


查看完整回答
反对 回复 2021-09-18
  • 1 回答
  • 0 关注
  • 188 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信