即使已经有一个默认值,Select也不返回任何值

时间:2017-09-20 23:10:47

标签: javascript jquery json

我有一个选择项,我已经为它添加了一个默认值,但在提交表单后,它返回一个空字符串。这是为什么?

我的代码:

var c = $('#c').val();

populateSelect(cs, '#c', 'My select option');

function populateSelect(json, element, defaulttext) {

  $(element).find('option').remove().end().attr('disabled', false).append($('<option selected>').text(defaulttext).attr('value', ''));
  $.each(json, function(i, value) {
    $(element).append($('<option>').text(value).attr('value', value));
  });

  if (defaulttext != undefined) {
    $(element).val(defaulttext);
  }

}

1 个答案:

答案 0 :(得分:0)

虽然您在jQuery中设置了selected attribute,但实际上并没有为该选择设置value。您需要将.attr('value', '')更改为.attr('value', 'default')之类的内容。要从函数参数传递它,您正在寻找.attr('value', defaulttext)

除此之外,您还需要确保select字段中包含name attribute,以便在提交表单后获取值。

希望这有帮助! :)