【问题标题】:how to filter text of the selected value in drop down如何在下拉列表中过滤所选值的文本
【发布时间】:2012-06-17 03:13:41
【问题描述】:

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

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

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

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 进行排序......只是不确定哪个更容易)

【问题讨论】:

    标签: php jquery arrays forms filter


    【解决方案1】:

    客户端最简单的方法是让服务器在标记中添加一些额外的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/

    【讨论】:

    • 谢谢...这会很好地工作,但不幸的是我无权添加额外的 data- 属性。此下拉列表是动态生成的,因此我只能使用无法更改/修改的两个现有 machineName 和 machineValue。
    • 好的。你有一个数组来显示每个组的内容吗?在不知道您必须处理什么的情况下,问题很难回答
    • 是的。我愿意。我可以将 machineGroup 关联到 machineName 或 machineValue case "173" : newVal = "3";休息;或 '236' => "8", '237' => "5" 或 'kkm-444' => "8"(kkm-444 是 machineName 173, 236, 237 是 machineValue 和 8, 5, 3 是 machineGroup)
    • 看看这是否有帮助jsfiddle.net/ELu8q。通常从服务器获取数据到json并使用这种方法是相当容易的
    • 非常感谢!稍微调整一下,现在效果很好——让我很高兴。现在——我只需要让表单识别何时输入了数据(与输入的击键相比)。
    猜你喜欢
    • 2015-12-02
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    相关资源
    最近更新 更多