【问题标题】:Default value not set for select drop down using jQuery未使用 jQuery 为选择下拉菜单设置默认值
【发布时间】:2023-03-04 20:29:01
【问题描述】:

我在设置默认值的同时使用jQuery动态添加选项到html选择,但默认值没有显示。

这是最初的裸 html 代码。

<div class="form-group">
        <select id="f_id" class="form-control">
        </select> 
</div>

和我动态添加选项的 jQuery 代码

var $fTypeSelect = $('#f_id');
$.each(fVal, function(idx, obj){ 
        $fTypeSelect
        .append($("<option></option>").attr("value",obj["ftype_id"]).text(obj["fType"]));
});

到目前为止,它已经添加了下拉选项并且可以正常工作。

我尝试通过以下方式设置默认值,但均未显示为选中状态。

$fTypeSelect.val(fTypeDefaultVal);//Not shown as the default value
$fTypeSelect.val(fTypeDefaultVal).change();// Not shown as default value
$fTypeSelect.trigger("chosen:updated");//Default value is still not shown

我在 UI 中的下拉菜单如下所示。

当下拉菜单展开时,所有选项都会被找到。如何设置默认值?我的 jQuery 版本是 2.1.4。

【问题讨论】:

  • $('#f_id option[value=' + fTypeDefaultVal + ']').attr('selected', 'selected');试试
  • $fTypeSelect.val(fTypeDefaultVal); 应该可以工作。只需检查是否有 value 等于 fTypeDefaultVal 的项目
  • 不存在值等于 fTypeDefaultVal 的项目。但是对现有值进行硬编码以进行测试也不起作用。 $fTypeSelect.val("1");
  • select 的重复 id 怎么样?
  • 通过 val() 函数设置有效。请参阅此 plunker plnkr.co/edit/gist:1986619?p=preview。请参阅此帖子:stackoverflow.com/questions/13343566/… 了解更多信息

标签: jquery html


【解决方案1】:

我在代码中的某处设置了不存在的选择下拉列表的值,因此出现了问题。

例子:

<select id="f_id" class="form-control">
  <option value="1">example1</option>
</select> 

jQuery sn-p

var $fTypeSelect = $('#f_id');
$fTypeSelect.val("1");// This is working
// After few lines of messy code I was setting the wrong value as in below
$fTypeSelect.val("string");// This is where I was wrong

因此,它没有显示选择的选项。

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 2013-07-22
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多