【问题标题】:JS add attribute to stringJS为字符串添加属性
【发布时间】:2016-02-10 14:59:57
【问题描述】:

我有一个返回 retorno1 的帖子 ajax,为了简单起见,我将它们的输出作为字符串值作为 ajax 发布,如示例 .. 然后我需要添加超过 1 个值为 0 的选项,所以我需要说如果值为0显示所选项目“NON”,如果值为其他则显示并选择它。

我正在使用setAttribute("selected", "selected"),但我知道这是错误的,那么向该字符串添加属性的正确代码是什么?

var i = 0;
var returno1 = "<option value='21'>Hello</option><option value='22'>Bye</option>";
var pre = retorno1 + '<option value="0">------ N/A ------</option>';
var count = $($.parseHTML(pre)).filter('option').length;
var dep_dr = $("#departamento_drop option:selected").val();

$.each($.parseHTML(pre),function(i,item){
    var val_drop  =($(item).val());
    var text_drop =($(item).html());

    if (val_drop == dep_dr){
        jQuery("#departamento_drop").html(pre).setAttribute("selected", "selected");
    }else if(dep_dr == "0"){
        jQuery("#departamento_drop").html(pre).setAttribute("selected", "selected");
    }
})

【问题讨论】:

  • 整个贴出的代码意义不大?第一个i 是干什么用的?为什么在这里使用$.parseHTML?为什么你有一个if/else if 语句对这两种情况等都做同样的事情?
  • 我有一个 post ajax 返回 retorno1 带有选项标签.. 然后我需要添加超过 1 个值为 0 的选项所以我需要说如果值为 0 显示选定非项目,如果值为其他,则显示并选择它。谢谢

标签: javascript attributes option


【解决方案1】:

Working fiddle

尝试使用attr()prop() 设置或获取元素的属性,请查看以下示例:

jQuery("#departamento_drop").empty();

$.each($.parseHTML(pre),function(i,item){
    var current_itme=$(item);
    var val_drop  =current_itme.val();
    var text_drop =current_itme.html();

    if (val_drop == dep_dr || dep_dr == "0"){
        current_itme=current_itme.attr("selected", "selected");
    }

    jQuery("#departamento_drop").append(current_itme);
})

希望这会有所帮助。

【讨论】:

  • 感谢您的帮助,但它无法正常工作!它总是选择其值为 0 的最后一个项目
  • 不客气,请多描述一下你想要达到的目标。
  • @MinaMagdy 看看这个 fiddle 可能对你有帮助。
【解决方案2】:

为什么需要使用字符串?使用 insted 的对象。

var values = [{val:33, title:'Hi'},{val:34, title:'Bue'},{val:0, title:'-------NA-------'}],
    selected = 34;
values.forEach(function(item){
    $('#dd').append($('<option>', {value:item.val, text:item.title, selected: item.val==selected}));
})

【讨论】:

  • 因为它的 ajax 返回,我编辑了帖子以提供更多细节.. 谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
相关资源
最近更新 更多