使用jQuery,选择下一个<select>框并更改其值

问题描述

|| 根据标题,除了选择正确的框外,我可以执行所有操作。 页面布局基本上是几个链接(class = \“ class \”),然后是每个链接(class = \“ games \”)的选择框(在选择框和链接之间有一些元素)。我正在尝试仅更改被单击链接旁边的选择框的值。 *编辑* 这是我正在使用的HTML更好示例的小提琴:http://jsfiddle.net/ynSeZ/9/ ---我尝试了所有建议的答案,但都没有成功。感谢到目前为止的努力! --- 这是我到目前为止所拥有的..当我删除最接近的()部分时,它可以工作..但是它改变了每个选择框的值,而不仅仅是改变了最接近链接的方式。 提前致谢, 菲尔     

解决方法

这是你的答案。使用
siblings
代替
closest
$(\'.class\').click(function() {

    var objectID = $(this).attr(\'objectID\');

    $($(this).siblings(\'.games\').get(0)).val(objectID).attr(\'selected\',true);

});
小提琴:http://jsfiddle.net/maniator/ynSeZ/3/ 现在我考虑了一下,以上答案可能是不正确的。您必须实现一些东西才能获得最接近的
select
元素。上面的代码所做的是获取页面上的第一个select元素,不一定是最接近
a
标记的元素。 更新 这是根据您最新的小提琴得出的答案:
$(\'.pick_team\').click(function() {

    var objectID = $(this).attr(\'team_id\');

    var select_object = $(\'select\',$(this).parent().parent());

    select_object.val(objectID)
});
小提琴:http://jsfiddle.net/maniator/ynSeZ/12/     ,您应该更改HTML,以便被单击的链接只有一个\“ sibling \”选择元素。像这样:
...
<div class=\"container\">
    <a href=\"#\" class=\"class\" ... >Value 1</a>
    <a href=\"#\" class=\"class\" ... >Value 2</a>
    <select>
        <option>Foo</option>
        ...
    </select>
</div>
然后在Javascript中执行此操作,以获取正确的select元素:
$(this).sibling(\"select\")
其中“ 8”是单击的链接。
closest
函数有点误导。它找到与给定选择器匹配的元素的最接近的祖先。     ,是时候制作好老式的ѭ10循环了:
$(\'.class\').click(function() {
    $next = $(this).next();

    while ($next.prop(\'tagName\') !== \'SELECT\' && $next.size() > 0)
    {
        $next = $next.next();
    }

    if ($next.prop(\'tagName\') === \'SELECT\')
    {
        $next.val($(this).attr(\'objectID\'));
    }
});
jsFiddle:http://jsfiddle.net/cM4B5/3/ 编辑:jsFiddle中的轻微错别字使第二个链接无法正常工作。更新。     ,也许是这样的吗? 更新 这将抓住同一行中的选择框,并将值设置为单击的链接的team_id
$(\'.pick_team\').click(function() {
     var val = $(this).attr(\'team_id\'); // grab the team id - we\'ll use this to determine the selected option in the select box
    //alert(val); // debugging
    $(this).closest(\'tr\').find(\'select option[value=\"\'+val+\'\"]\').attr(\"selected\",\"selected\");

});
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...