1

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

 <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);

}

但问题是它从第一个选择列表中获得价值,而不是从我网站上的其他列表中获得价值。当我单击第一个时,它会得到很好的值。但是当我单击我网站上与第一个相同的其他选择列表时,它返回或为空或从第一个选择列表中记住的值

4

3 回答 3

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 小提琴演示

于 2013-05-26T12:29:52.747 回答
1

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

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

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

于 2013-05-26T12:26:02.013 回答
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和函数

我假设所有的selects 都是唯一的named

于 2013-05-26T12:31:00.930 回答