0

我有一个下拉菜单。有产品类型。产品类型具有与机器组相对应的关联值(从下拉列表中)。

所以每个选项应该有三个变量——机器名、值、机器组。

我可以获得机器名称,并且可以获得机器值(并将它们显示在不同的字段中)......我无法弄清楚的是如何将值更改为机器组。

jQuery('#MachineName').bind('change', function()
    {

      //get selected value from drop down;
        var selectedValue = jQuery("#MachineName").val();

      //populate a text field with the selected drop down value
        jQuery("#MachineValue").val(selectedValue);

我想做的是保留那个 MachineValue,然后用排序过的 MachineGroup 填充另一个文本字段

我一直试图通过类似的东西来运行它

    switch(jQuery(this).val()){
    case "236" : newVal = "8";
    break;

但我不想“改变”我只想做一个“if then”类型过滤器的值,所以可能是这样的:

    '236' => "8", '237' => "5",

我只是不知道如何正确地说“根据 MachineValue 分配 MachineGroup”(然后让它填充不同的文本字段)

最后,我将拥有三个领域。下拉列表、MachineValue 和 MachineGroup。下拉和值都完成了,我只需要做Group。(而且我可以根据 MachineName 对 Group 进行排序......只是不确定哪个更容易)

4

1 回答 1

0

客户端最简单的方法是让服务器data-为标记添加一些额外的属性。jQuery.data()使检索这些变得非常容易。

html:

<option value="5" data-group="foo" data-name="Bar">Bar</option>

JS:

$('select').change(function(){
    var $sel=$(this).find('option:selected');
    var machineGroup=$sel.data('group');
    var machineName=$sel.data('name');
    var value= $sel.val()// or $(this).val();
});

API(请阅读下面的第一系列示例,原始 API 中没有该功能)

http://api.jquery.com/data/

于 2012-06-17T03:36:09.313 回答