【问题标题】:Selected value not showing on Dropdown using jQuery使用 jQuery 的下拉列表中未显示所选值
【发布时间】:2016-03-17 18:49:10
【问题描述】:

我的 Javascript 代码如下所示,我的问题是当我点击此按钮 editcpumonbtn 三次以上时,下拉列表没有出现选定的属性,但是当我检查 html 代码选项时,应用了选定的属性。

下拉列表不显示它冻结的选定值。

 $(".editcpumonbtn").on('click', function(e) {
   var cmpid = $.trim($(this).attr("data-comp"));
    $("#EditMonandCpuCompanyDropdown > option").each(function() {
        //alert(this.text + ' ' + this.value);
        if ($.trim(this.value) == cmpid) {
            $(this).attr('selected', true);
        } else {
            $(this).attr('selected', false);
        }
    });
});

【问题讨论】:

  • 您是否在控制台窗口中遇到任何错误??
  • 您能否将一些 HTML 显示为可验证的 sn-p 以反映您的问题?
  • 如果使用prop()而不是attr()会更好吗?另请注意,今天的版本(1.12.2 和 2.2.2)在设置 <option> 元素的 selected 属性时修复了 IE 中的错误。您可能会受到影响。
  • @Reddy 没有收到任何错误
  • @RokoC.Buljan 我插入我的 HTML 代码

标签: javascript jquery


【解决方案1】:

$("[data-comp]").on('click', function(e) {
  
  // e.preventDefault(); // uncomment if <a> elements
  
  var cmpid = $.trim( $(this).data("comp") );
  
  $("#EditMonandCpuCompanyDropdown > option").prop("selected", function(){
    return $.trim(this.value) == cmpid;
  });

  // $("#EditMonandCpuCompanyDropdown").change(); // Eventually. But I see no issue

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button data-comp="A">A</button>
<button data-comp="B">B</button>
<button data-comp="C">C</button>

<select id="EditMonandCpuCompanyDropdown">
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
</select>

【讨论】:

    【解决方案2】:

    这对我有用..感谢大家的最佳支持

    $("#EditMonandCpuCompanyDropdown").val(cmpid);
    

    【讨论】:

      猜你喜欢
      • 2021-10-26
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2020-01-24
      • 2012-08-12
      • 2014-08-09
      相关资源
      最近更新 更多