javascript - 如何使用 JavaScript 追加插入带有样式属性的选项值?

标签 javascript jquery dom

我有 html <select>使用 javascript append 由数据库中的数据填充的元素。我想通过应用 style="color:red" 来区分对于具有 payment_status = false 的值和 style="color:green"对于具有 payment_status = true 的值.我怎样才能在上面插入样式。我尝试插入样式,但值不会显示在下拉列表中。请帮我解决这个问题。请看下面的代码。谢谢。

$('#schedule_payment').append($('<option>', {
    value: '',
    text: 'Select Schedule'
}));

$.each(obj.amortizations, function(i, item) {
    if (item.payment_status == true) {
        $('#schedule_payment').append($('<option style="color:red">', {
            value: item.schedule,
            text: item.schedule
        }));
    } else {
        $('#schedule_payment').append($('<option>', {
            value: item.schedule,
            text: item.schedule
        }));
    }
});

enter image description here

最佳答案

我认为这是您的解决方案:

var obj = {amortizations: [{
  payment_status: true,
  schedule: 1000
},{
  payment_status: false,
  schedule: 10000
},{
  payment_status: false,
  schedule: 20000
},{
  payment_status: true,
  schedule: 100000
}]};

$('#schedule_payment').append($('<option>', { 
  value: '',
  text : 'Select Schedule'
}));
  
$.each(obj.amortizations, function (i, item) {
  if( item.payment_status == true ){
    $('#schedule_payment').append($('<option style="color:red">').attr('value', item.schedule).text(item.schedule));
  }else{
    $('#schedule_payment').append($('<option style="color:green;">').attr('value', item.schedule).text(item.schedule));
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="schedule_payment"></select>

或:

var obj = {amortizations: [{
  payment_status: true,
  schedule: 1000
},{
  payment_status: false,
  schedule: 10000
},{
  payment_status: false,
  schedule: 20000
},{
  payment_status: true,
  schedule: 100000
}]};

$('#schedule_payment').append($('<option>', { 
  value: '',
  text : 'Select Schedule'
}));
$.each(obj.amortizations, function (i, item) {
  if( item.payment_status == true ){
    $('#schedule_payment').append($('<option>', {
      style: 'color:red',
      value: item.schedule,
      text: item.schedule
    }));
  }else{
    $('#schedule_payment').append($('<option>', {
      style: 'color:green',
      value: item.schedule,
      text: item.schedule
    }));
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="schedule_payment"></select>

关于javascript - 如何使用 JavaScript 追加插入带有样式属性的选项值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55491585/

相关文章:

javascript - 当我在正则表达式中包含数组引用时测试失败(正则表达式中带有索引的数组)JavaScript

javascript - child 糖果 Hackerrank 挑战 : optimising the solution

Jquery .load() 在 Django 模板中不起作用

循环内的 Javascript 变量声明

javascript - 循环中的多个 ajax 调用未按调用顺序返回

javascript - 如何控制iosSlider中的动画速度?

javascript - 添加超过 9 个元素时,我的 Javascript 函数无法正常工作

javascript - 将 DOM 操作应用于 HTML 并保存结果?

jquery - Polymer 和 Jquery 选择器

javascript - 使用 jQuery 创建 HTML 元素并为其绑定(bind)监听器的推荐方法是什么?