我试图在一个简单的JS数组中大写每个首字母, 代码在控制台日志中正常工作 - 但不在输出
感谢。
<select id="selectId">
<option value="hello">one</option>
<option value="hello">two</option>
<option value="hello">three</option>
var arr=[];
$("#selectId >option").each(function() {
arr.push(this.text.substr(0,1).toUpperCase() + this.text.substr(1));
});
var i, len, text;
for (i = 0, len = arr.length, text = ""; i < len; i++) {
console.log(arr[i]);
$("#select").text(arr[i]);
}
答案 0 :(得分:1)
var arr=[];
$("#selectId >option").each(function() {
arr.push(this.text.substr(0,1).toUpperCase() + this.text.substr(1));
});
var i, len, text;
for (i = 0, len = arr.length, text = ""; i < len; i++) {
console.log(arr[i]);
$("#select").text(arr[i]);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<select id="selectId" style="text-transform: capitalize;">
<option value="hello">one</option>
<option value="hello">two</option>
<option value="hello">three</option>
答案 1 :(得分:1)
在css中添加一个类
.capitalize{text-transform: capitalize;}
并在HTML中添加您想要大写的内容。
答案 2 :(得分:0)
<select name="selectId">
<option value="hello">one</option>
<option value="hello">two</option>
<option value="hello">three</option>
首先选择数组中的所有下拉列值
var selected = $('select[name="selectId"]').map(function(){
if ($(this).val())
return $(this).val();
}).get();
现在使用String.toUpperCase()
var upperCasedArray = $.map(selected , function(item, index) {
return item.toUpperCase();
});
答案 3 :(得分:0)
使用substring而不是substr。子串在更多浏览器中被理解。 另一种解决方案:
output = t.render(context)
答案 4 :(得分:0)
您需要编辑每个选项文本,而不是“选择文本”,这实际上并不意味着什么。
$("#selectId > option").each(function() {
$(this).text(
this.text.substr(0,1).toUpperCase() + this.text.substr(1)
);
});
为简单起见,我删除了你的中间数组。
答案 5 :(得分:0)
var arr = Array.prototype.map.call(document.querySelector("#selectId").options, function (option) {
var text = option.textContent;
return option.textContent = text.substr(0, 1).toUpperCase() + text.substr(1);
});
console.log(arr);
&#13;
<select id="selectId">
<option value="hello">one</option>
<option value="hello">two</option>
<option value="hello">three</option>
</select>
&#13;