2013-09-30 35 views
0

我試圖通過腳本更改下拉菜單中的選項 - 但似乎沒有發生任何事情。沒有錯誤。通過Javascript問題更改下拉列表中的選項

下面是腳本:

javascript: 
var objDropDownMenuName = document.getElementsByName("jjoprs")[0]; 
function writeText(form) { 
    $(objDropDownMenuName.options[1]).selected = true; 
    $(objDropDownMenuName).change(); 
} 
writeText(this.form); 

這裏是HTML表單:

<select name='jjoprs' class='select2'> 
          <option value='NULL' selected> </option> 
          <option value='1060'>Sofi, Laco</option> 
<option value='5160'>Vandrlka, Edo</option> 
          </select> 

謝謝!

編輯:我在IE8執行這個腳本

+0

Offtopic,但是最好給選擇一個ID並使用'document.getElementById('idHere')',它通過ID選擇東西更有效率 – Martijn

+0

不幸的是,它不使用ID – pufAmuf

回答

1
function writeText(form) { 
    objDropDownMenuName.options[1].selected = true; 
    $(objDropDownMenuName).change(); 
} 

jQuery選擇心不是設置一個選項,需要選擇


由於你有jQuery:

function writeText(form) { 
    $('select[name="jjoprs"]') 
     .find('options:nth-child(2)').attr('selected',true) 
     .closest('form').submit(); 
    } 
+0

嗨Martijn,如果我不使用'.change'功能,數據不會保存在我們的系統中。 – pufAmuf

+1

我已經取消註釋了一次:)以爲你可能已經添加了它來進行選擇更改。 – Martijn

+0

謝謝,但在這種情況下也沒有發生。 @Kinkink版本可以工作,但是我無法保存。 – pufAmuf

1

嘗試使用正確的方法:

var sel = document.getElementsByName('jjoprs')[0]; 
sel.selectedIndex = 1; 
+0

謝謝,但是當我嘗試運行這個'sel.change();' – pufAmuf

+0

時出現錯誤,這是因爲'sel'不是一個jQuery對象。 –

相關問題