使用以下代码在下拉列表中显示以下值
function getServerList() {
$.getJSON('/getlidst', function (data) {
var html = '';
data = data.reverse();
data.forEach(function (n) {
console.log(n.url)
html += '<option value="' + n.url + '">' + n.url + '</option>';
});
$('#server').html(html);
});
}
这里console.log打印以下值。我的dropdown
列表包含以下值
testsite
highsjiteover.com_default
twoclever.com
172.16.7.80_default
172.16.2.18
我想要的是从上面的值中,默认情况下最下面的字符串在下拉列表中设置为默认值
我还要设置下拉值而不附加default
字符串即(highsjiteover.com)
而非highsjiteover.com_default.
怎么可能?
答案 0 :(得分:1)
试试这个:
data.forEach(function (n) {
console.log(n.url);
var url = n.url.indexOf('_default') > -1 ? n.url.split('_')[0] : n.url;
html += '<option value="' + url + '">' + url + '</option>';
});
根据您的评论,您可以在循环后添加:
$('#server').find('[value*="highsjiteover.com"]').prop('selected', true);
var url
设置我们在这里使用三元运算的值。我们必须检查_default
如果可用,那么我们将用_
分割该字符串以创建该字符串的数组,并返回保存url的[0]
索引{ {1}}如果没有_default
可用,那么我们将返回_default
。
答案 1 :(得分:0)
这是为了将包含默认的第一个option
作为select
菜单的默认值。将JSON操作放在函数内部。
$("select#server option[value$=default]").first().attr("selected" ,true);