最近這個問題一直讓我發瘋。在.each()我循環選擇元素,並將其轉換爲jQuery UI組合框。這工作正常。當涉及到設置選定的值時,我遇到了問題。在我的同一個.each()我試圖設置選定的值,我在其他地方得到的值。jquery ui combobox設置變量作爲選擇器名稱的選定項目
$("#" + e + " [role='select']").each(function() {
$(this).combobox();
var selId = '#ContactCategoryId';
var cellv = '9';
$(selId+" option[value=" + cellv + "]").attr("selected", 'true');
});
既然上面的代碼完美地工作,將combobox設置爲值9和「Cell Number」的文本值。現在下面的代碼失敗,沒有錯誤,但不會改變選定的值。我需要它以下面的方式工作,並從當前select元素獲取Id:$(this).attr('id')。我嘗試了很多不同的東西,請有人給我看看這裏的燈光。
$("#" + e + " [role='select']").each(function() {
$(this).combobox();
var selId = '#'+$(this).attr('id');
var cellv = '9';
$(selId+" option[value=" + cellv + "]").attr("selected", 'true');
});
我正在使用JQuery 1.7和最新的JQuery UI,Thanx!
詹姆斯
由於我的名聲我是不是能夠所以這裏asnwer我的問題是我的解決方案:
確定這個問題真的找到解決方案後,讓我生氣了。通常,當我遇到jquery插件問題時,我只是看看源代碼並且玩弄它,但是對於這個問題,我沒有嘗試並且花費我。這個解決方案非常簡單,就像答案一樣。
$("#" + e + " [role='select']").each(function() {
if($(this).css('display')=='none')
{
$(this).combobox("destroy");
}
$(this).combobox();
});
當我看到我認爲現在來源,它必須從某個地方得到它的價值。所以我手動設置的值:
$(this).val('9')
它製作的表格的第一開口而不是第二後來我意識到,摧毀它,如果它存在,然後創建組合框需要我。我敢肯定,你的上師有一個更好的解決方案,但我很高興我得到了這個工作
'$(這)'可能是不是你認爲它是....你可以發佈所有的代碼? – ManseUK 2012-07-26 16:13:04
嗨ManseUK,thanx。是的,我認爲這可能是問題,但如果我可以實際登錄到控制檯,那麼變量selId的確切值就是我選擇的名稱。我已經更新了我的原始問題 – jjay225 2012-07-26 17:06:47
以選擇一個你應該做'$('select')。val('9');'所以在你的情況''(this).val(cellv)''你試過? – ManseUK 2012-07-26 17:09:05