2013-09-30 34 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对象。 –

相关问题