4

我有一个从 db 中获取值的下拉列表,如下所示

$.get('/getJobs', function (jobs) {
        seljobs = jobs;
        var i = 0;
        jobs.forEach(function (n) {
                           alert("job id----"+n.id)// 32,67,45
                           alert("job names----"+n.names)//test1,test2,test3

            html += '<option value="' + i + '">' + n.names + '</option>';
            i++;
        });
        $('#jobSel').html(html);
    });

我必须得到id选定的下拉值..

ic 在我的下拉列表中我有关联的名称test1,test2,test3id's 32,67,45,

在选择 test1 时,我必须得到 id 32 等等。怎么可能

<tr>
                        <td width="200px">Jobs</td>
                        <td> 
                            <select id="jobSel" class="longcombo"></select>
                        </td>
                    </tr> 
4

4 回答 4

24

尝试这个

更改事件

$("#jodSel").on('change',function(){
    var getValue=$(this).val();
    alert(getValue);
  });

注意:dropdownlist如果您想从数据库中设置 id 和文本关系,则将 id 设置为选项标签中的值,而不是通过id在选项内添加额外属性,这不是标准的做法,尽管我在回答中都做了,但我更喜欢示例 1

HTML 标记

Example 1:
    <select id="example1">
        <option value="1">one</option>
        <option value="2">two</option>
        <option value="3">three</option>
        <option value="4">four</option>
    </select>
Example 2 :
    <select id="example2">
        <option id="1">one</option>
        <option id="2">two</option>
        <option id="3">three</option>
        <option id="4">four</option>
    </select>

查询:

$("#example1").on('change', function () {
    alert($(this).val());
});

$("#example2").on('change', function () {
    alert($(this).find('option:selected').attr('id'));
});
于 2013-10-01T05:06:14.273 回答
6

尝试更改事件和选定的选择器

$('#jobSel').change(function(){
    var optId = $(this).find('option:selected').attr('id')
})
于 2013-10-01T05:04:38.623 回答
2

例如,首先在您的选项中设置一个自定义属性nameid(您可以设置 HTML 元素的非标准化属性,这是允许的):

'<option nameid= "' + n.id + "' value="' + i + '">' + n.names + '</option>'

然后您可以使用 jquery 轻松获取属性值.attr()

$('option:selected').attr("nameid")

例如:

<select id="jobSel" class="longcombo" onchange="GetNameId">
    <option nameid="32" value="1">test1</option>
    <option nameid="67" value="1">test2</option>
    <option nameid="45" value="1">test3</option>    
    </select>    

查询:

function GetNameId(){
   alert($('#jobSel option:selected').attr("nameid"));
}
于 2013-10-01T06:50:25.487 回答
1

如果您正在尝试获取 id,请更新您的代码,例如

  html += '<option id = "' + n.id + "' value="' + i + '">' + n.names + '</option>';

要检索 id,

$('option:selected').attr("id")

检索值

$('option:selected').val()

在Javascript中

var e = document.getElementById("jobSel");
var job = e.options[e.selectedIndex].value;
于 2013-10-01T05:07:16.550 回答