2014-01-24 38 views
0

我有使用CI的form_dropdown拉动从DB的阵列的形式....笨form_dropdown选定值

$osValue = 'id = "osValue"'; 
echo form_dropdown('os', $os, '', $osValue); 

其中,检查所述元素时,是在用户代理如下...

<select name="os" os> 
<option value="1">Windows XP 32-bit</option> 
<option value="2">Windows XP 64-bit</option> 
<option value="3">Windows Vista 32-bit</option> 
<option value="4">Windows Vista 64-bit</option> 
<option value="5">Windows 7 32-bit</option> 
<option value="6">Windows 7 64-bit</option> 
<option value="7">Server 2003 32-bit</option> 
<option value="8">Server 2003 64-bit</option> 
<option value="9">Server 2008 32-bit</option> 
<option value="10">Server 2008 64-bit</option> 
<option value="11">Linux</option> 
</select> 

我遇到麻烦的是能够将SELECTED值传递给变量。

我得到的所有选项返回,使用时

var os = $('#osValue').html(); 

var os = $('#osValue').text(); 

而且,只有值(由DB通过在一个数字串)返回使用

var os = $('#osValue').val(); 

为了只返回选定的值,必须有一小部分或两个部分丢失。任何/所有的建议或帮助将不胜感激。先谢谢你!

+0

首先,'<选择name = “操作系统” OS>'似乎有缺陷,确保'form_dropdown()'正常工作。其次,'.val()'有什么问题? –

+0

我无法分配ID,因为此信息由CodeIgniter填充,但没有ID选项。 – jbeckom

回答

1

你有几个问题:

1)上有选择没有ID,但你要查询的ID(你在那里也有一个外的地方“OS”; <select name="os" os>是无效)

2)你是不是想找哪个选项已经被选中

要解决,给选择id

<select name="os" id="os"> 
    <option value="1">Windows XP 32-bit</option> 
    <option value="2">Windows XP 64-bit</option> 
    <option value="3">Windows Vista 32-bit</option> 
    <option value="4">Windows Vista 64-bit</option> 
    <option value="5">Windows 7 32-bit</option> 
    <option value="6">Windows 7 64-bit</option> 
    <option value="7">Server 2003 32-bit</option> 
    <option value="8">Server 2003 64-bit</option> 
    <option value="9">Server 2008 32-bit</option> 
    <option value="10">Server 2008 64-bit</option> 
    <option value="11">Linux</option> 
</select> 

和查询从jQuery的:

var osval = $('#os option:selected') 

,或者按名称查询:

var osval = $('[name="os"] option:selected') 

http://jsfiddle.net/5Vmxd/

+0

感谢您对此提供的帮助...只需将“选项:选中”添加到jquery变量中,就可以完美地为我完成这项工作! – jbeckom