从多个下拉列表中获取价值

时间:2013-05-26 12:24:18

标签: javascript jquery html

我有多个相同的下拉菜单,我需要它们是相同的。

 <select name="Obrojgoluba" id="otacmajka" class="selectbox_dodajpostojeceg" onchange="dodajpostojeceg('otac')">
  <option value="1">06557-07-681</option>
  <option value="2">07216-05-552</option>
</select>

这是我的jQuery函数,用于从选择列表中获取值

function dodajpostojeceg(x)
{
    var ID = $('select[name="Obrojgoluba"]').val();
    alert(ID);

}

但问题是它从第一个选择列表中获取价值,而不是从我网站上的其他人那里获得价值。当我点击第一个时,它获得了良好的价值。但是当我点击我网站上与其他选择列表相同的其他选择列表时,它会返回或清空或重置从第一个选择列表中记住的列表

3 个答案:

答案 0 :(得分:2)

您正在使用此

var ID = $('select[name="Obrojgoluba"]').val();

正如您所说,您的网页上有多个select。因此,如果它们具有相同的名称,则上面的代码将选择first,这就是您所获得的。

因此您可以更改函数和标记以使此代码可用。

function dodajpostojeceg(element)
{
    var ID = $(element).val();
    alert(ID);
}

并像这样调用此函数

<select name="Obrojgoluba" id="otacmajka" class="selectbox_dodajpostojeceg" onchange="dodajpostojeceg(this)">

JS Fiddle Demo

答案 1 :(得分:1)

这是一件奇怪的事情,但试试这个:

function dodajpostojeceg(x)
{
    var ID = $(this).val();
    alert(ID);
}

正如CBRoe所评论的那样,多个相同的ID无效,这可能会妨碍您的进步......

答案 2 :(得分:1)

确保包含jquery lib并且在html

之前定义了该函数
<head>
    function dodajpostojeceg(x)
    {
        var ID = $('select[name="Obrojgoluba"]').val();
        alert(ID);
    }
</head>

<body>
    <select name="Obrojgoluba" id="otacmajka" class="selectbox_dodajpostojeceg" onchange="dodajpostojeceg('otac')">
        <option value="1">06557-07-681</option>
        <option value="2">07216-05-552</option>
    </select>
</body>

小提琴:http://jsfiddle.net/kR8yH/

当呈现html时,它将查找名为dodajpostojeceg()的函数,如果未定义,则无法绑定select和函数

我假设所有select s都是唯一的name d