用于在下拉列表中设置默认名称的Jquery代码

时间:2014-04-09 07:02:27

标签: jquery

使用以下代码在下拉列表中显示以下值

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.

怎么可能?

2 个答案:

答案 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);