通过Jquery更新内容下拉列表

时间:2011-08-04 20:35:35

标签: javascript jquery webforms

我正在努力解决以下问题,我甚至不确定它是否可行。

开始时我有两个下拉菜单。菜单一与供应商和(当前)第二次下拉与数据库中的所有大小的照片。我想去的地方是,在选择供应商时,第二个下拉菜单会根据供应商提供的选项进行更改。到目前为止,使用Jquery并使用输出更新第二个下拉菜单没什么困难。

现在来了困难的部分。我使用第二个下拉列表来插入他们的信息。所以第二个下拉菜单,可能是十几个,都是一样的。我使用JS脚本来复制表单的表行。由于ID应该是唯一的,因此这些下拉没有ID。

在更改第一个下拉菜单时,是否仍然可以更新所有这些“第二个”下拉菜单?如果是的话,怎么可能呢?

应该触发更新下拉列表的第一个下拉列表:

<select name="leverancier" id="leveranciers">
    <option value="1">Supplier 1</option>
    <option value="2">Supplier 2</option>
</select>

这部分重复:

<tr>
<td>
<select name="type[]" class="test">
    <option value="1">9x13</option>
    <option value="2">10x15</option>
    <option value="3">11x14</option>
</select>           
</td>
<td><input type="text" name="min_euro[]"></td>
<td><input type="text" name="max_euro[]"></td>
</tr>

<tr>
<td>
<select name="type[]" class="test">
    <option value="1">9x13</option>
    <option value="2">10x15</option>
    <option value="3">11x14</option>
</select>           
</td>
<td><input type="text" name="min_euro[]"></td>
<td><input type="text" name="max_euro[]"></td>
</tr>

由于

拉​​尔夫

1 个答案:

答案 0 :(得分:0)

为每个辅助SELECT提供相同的类。

然后,在主SELECT上定义一个事件处理程序,通过定位该类来更新辅助SELECT。

E.g:

jQuery('#leveranciers').bind('change', function(event) {
  // somehow determine the new set of options for all secondary SELECTs
  jQuery('SELECT.secondary').each(function(i, e) {
    jQuery(e).html(newOptionsMarkup);
  });
  return true;
});

(请忽略基于.html()的糟糕方法。重要的是更新目标的方式。)