时间:2017-01-31 12:36:37

标签: javascript jquery html

我的html中有2个选择框,名为type和brand。当类型被更改时,我使用onchange事件为服务器创建ajax请求,并检索在类型字段中生成产品的品牌。这一切都运行正常,但我需要在品牌选择中加载检索到的数据,我不知道该怎么做,因为我有多行包含类型和品牌选择框。如何在更改类型的同一行中找到下一个选择元素?

我的代码 HTML:

<tr>
<td>
    <select id="type" onchange="on_part_type_changed(this)" name "type[]"> --[options]-- </select>
</td>
<td>
    <select id="brand" name="brand[]"></select>
</td>
</tr>

使用Javascript:

function on_part_type_changed(selectObject) {
    // ajax call here (works)

    // now need to update the brand select that is on the same row as selectObject (jQuery)
} 

2 个答案:

答案 0 :(得分:1)

试试这个

function on_part_type_changed(selectObject) {
    $(selectObject).next('.brand').html('...');
}

答案 1 :(得分:1)

在执行ajax调用之前保存品牌对象。一旦ajax响应回来,它就会为你做好准备。

function on_part_type_changed(selectObject) {
     //clumsy way of finding the brand object nextdoor  
     var brandObj=selectObject.parent().next().children('.brand');
     // ajax call here
     someKindOfAjax(response) {
         //put response into brand object we got earlier
         brandObj.html(response);
     }
} 

正如其他人所说,如果有多个选择是&#34;品牌&#34;,那么它应该是一个类而不是一个ID。