1

我有使用 AJAX 检索的数据。我需要添加一个空选项'-----'。我怎样才能做到这一点?我尝试了很多例子,但找不到方法。所以这个 const 取自 Django 提交的表格!它是国家、地区、定居点。我需要在字段中的此数据 EMPTY 标签之前。

$('<option>').val('').text('').appendTo(#reg);
  const $dis = $('#id_dis');
  const $com = $('#id_comm');
  const $sett = $('#id_sett');

  const r_choices = choicesRegistry['id_reg'];
  const d_choices = choicesRegistry['id_dis'];
  const comm_choices = choicesRegistry['id_comm'];
  const sett_choices = choicesRegistry['id_sett'];


$reg.on('change', function() {
  // d_choices.disable();
  // c_choices.disable();
  console.log(this.value)
  if (this.value === '') {
    d_choices.disable();
  } else {
    $.ajax({
      method: 'get',
      url: '/contry',
      data: {
        level_1: this.value,
        level: 2
      },
      success: (data) => {
        // data.unshift(''),
        console.log(data)
        // d_choices.setChoiceByValue(data, 'code', true);
        d_choices.setChoices(data, 'code', 'name', true);
        d_choices.setChoiceByValue('code', 'name')
        console.log(d_choices)


        console.log(d_choices)
        d_choices.enable();
      },
    });
  }
});
4

1 回答 1

0

setChoices()方法接受一个对象数组,指定要创建的元素的valuelabel属性。option因此,您可以在此对象前面添加一个新对象以添加所需的“空”选项:

// inside success handler:
data.unshift({ code: '', name: '-----' });
d_choices.setChoices(data, 'code', 'name', true);
于 2021-07-02T11:11:58.357 回答