2014-04-09 44 views
0

我用下面的代碼在下拉列表下面的值jQuery代碼在下拉列表中設置默認名稱

testsite 
highsjiteover.com_default 
twoclever.com 
172.16.7.80_default 
172.16.2.18 
顯示以下值

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); 
    }); 
} 

這裏以下values.ice我dropdown名單,則爲打印的console.log

我想要的是從上面的值最高的字符串與默認設置爲默認在下拉列表

也我想設置下拉值機智h添加default字符串,即(highsjiteover.com)不是highsjiteover.com_default.

怎麼可能?

+0

注意** **也許某些瀏覽器,通過使用'html的附加''select'元素中options'()'方法可能無法正常工作。我建議你在每個主流瀏覽器中測試它是否在意。 –

回答

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如果這是可用的,那麼我們將分割該字符串_以創建該字符串的數組,然後返回[0]索引,該索引保存的網址沒有_default,如果沒有_default可用,那麼我們正在返回n.url

+0

好吧,但罰款,但我怎麼能設置頂部的字符串與默認下拉列表(即在我的列表中,我想設置頂部字符串highsjiteover.com_default作爲下拉列表中設置的默認值) – Sush

+0

@Sush你可以添加此後forEach循環:'$('#server')。find('[value * ='highsjiteover.com「]')。prop('selected',true);'。 – Jai

+0

不是這樣你可能會改變帽子值 – Sush

0

這是爲了使第一個option包含默認作爲select菜單的默認值。把這個JSON操作放在函數內部。

$("select#server option[value$=default]").first().attr("selected" ,true); 
+0

不能正常工作我們的代碼 – Sush

+0

已被編輯。請再次檢查 –

相關問題