如何根据另一个select html元素的选项值使用jQuery遍历select html选项

时间:2018-11-28 11:00:36

标签: javascript jquery

我有两个HTML select元素,并且想要:

  1. 遍历第一个选择元素,然后从所选选项中选取值。
  2. 遍历第二个选择元素和选择选项,它们的值与从第一个元素中选择的值相同。

我正在使用jQuery,这是无效的代码。

$(document).on("change", "select[name='office_id']", function () {

    var office_id = parseInt($(this).val());

    var options = $(this).parents('tr').find("select[name='phone']").children();

    $(options).each(function() {
        if ($(this).parents('tr').find("select[name='phone']").val() == office_id) {
            $(this).attr('selected', true);
        }
    });
});

当我使用$(this).each时,这意味着$(this)"select[name='office_id'],但是我想使用jQuery选择电话选项并进行迭代。 $(options).each不起作用。

3 个答案:

答案 0 :(得分:1)

尝试一下:您可以根据匹配的办公室ID迭代所有选项,然后选择或取消选择选项

$(document).on("change", "select[name='office_id']", function () {

    var office_id = parseInt($(this).val());
    var options = $(this).parents('tr').find("select[name='phone'] option");

    options.each(function(){
       //select or deselect option as per match office_id
       $(this).attr('selected', $(this).val()==office_id);
    });
});

答案 1 :(得分:1)

尝试

#include <tuple>

__global__ void kernel()
{
    auto t = std::make_tuple(1, 2, 3);
    printf("%d\n",std::get<0>(t));
}

int main()
{
   kernel<<<1,1>>>();
   cudaDeviceSynchronize();
}

答案 2 :(得分:0)

请检查下面的答案

$(document).on("change", "select[name='office_id']", function () {

    var office_id = parseInt($(this).val());
    var options = $(this).parents('tr').find("select[name='phone'] option");

    options.filter(function(){
       return ($(this).attr('value')== office_id);
    }).prop('selected',true);
});
$(function() {
  $("#office_id").change(function() { 
    $("#phone option").each(function()
    {
        if($(this).attr("value") == $("#office_id").val()){
        	$("#phone").val($("#office_id").val());
        }
    });
  });
});