字符串拼接下拉框 如何拼接

图片描述

图片描述

现在这样写是不对的 是ubdefined 但是方法里面的打印obj已经有值了是下俩框的对象 有知道这个如何修改吗 求教

阅读 2.9k
3 个回答

obj是数组还是一个对象类型的,如果obj是一个数组,使用map循环时,不应当把obj.map放入到字符串中,而是作为函数来执行。

而且,既然你都用到了箭头函数,也可以使用模板字符串的呀,这么一堆引号,看着都头晕,哈哈!

function servicePeriodFn(obj, cur) {
    return obj.map(item => `<option>${item.dictLabel}</option>`)
}

不知道你的两组数据是怎样的,为啥拼接的这么复杂,不如你把数据大致给一下,要实现什么样的拼接要求说一下。

function getOptions(data,cur) {
            return data.map(function(value){
                return '<option ' +(cur==value.dictLabel?"selected='selected'":"" )+ ' value="'+value.dictLabel+'">'+value.dictLabel+'</option>';
            }).join('')
        }

'<select  name="servicePeriod" class="select_condition servicePeriod" >\n' +
    '<option value="">请选择</option>\n' +
    '<option value="0" ' +(automaticApprovals[i].servicePeriod=="0"?"selected='selected'":"" )+ '>不限</option>'+getOptions(servicePeriod,automaticApprovals[i].servicePeriod)+'\n' +
'</select>\n' 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题