【问题标题】:Input select value, split and added into two new input value fields输入选择值,拆分并添加到两个新的输入值字段
【发布时间】:2018-09-30 20:36:43
【问题描述】:

我在这些论坛中获得了帮助(谢谢)修复 jquery 以将一个值(选择菜单)移动到文本字段中。

jQuery(document).ready(function( $ ) {
    function onchange() {
        var box1 = $("select[name=addon-8-choose-player-0]");
        var box2 = $("input[name*=addon-8-name-100-1]");
        console.log(box1);
        console.log(box2);
        box2.val(box1.val());
    }
    $("select[name=addon-8-choose-player-0]").on('change', onchange);
});

现在我有一个新问题,那就是插件将 Select 值更改为小写 - 选择选项“Playername, 3”变为“playername-3-1”,其中最后一个数字只是一个字段 id。

我想使用上面的脚本,但要修改它,使“playername-3-1”(每个选项值)分成名称和数字(第一个左边的任何东西 - 以及第一个后面的数字 -)和大写 (第一个字母)分成两个单独的字段。

“-”的左边进入box2(并且大写) “-”右侧和第二个“-”左侧进入box3

我该怎么做?

我是一个完全的新手(如您所知),并在我前进的过程中努力学习。对不起,我缺乏知识,但我对此知之甚少,我什至不知道从哪里开始谷歌。

希望得到怜悯和帮助。

整个方法的原因是我有一个用于可变字段输入的 Woocommerce 插件,但我无法更改插件...

【问题讨论】:

    标签: jquery forms woocommerce


    【解决方案1】:

    你可以使用这个脚本。

    jQuery(document).ready(function( $ ) {
    String.prototype.ucfirst = function()
    {
        return this.charAt(0).toUpperCase() + this.substr(1);
    }
    function myFunction() {
        var box1 = $("select[name=addon-8-choose-player-0]");
        var box2 = $("input[name*=addon-8-name-100-1]");
        var str = this.value;
        var res = str.split("-");
        box2.val(res[0].ucfirst());
        box1.val(res[1]);
    }
    $("select[name=addon-8-choose-player-0]").on('change', myFunction);
    });
    

    所以基本上你可以使用“-”分割字符串并将其转换为数组。现在您将在 0 索引中有“玩家”,在第 1 索引中有“3”。您可以将这些值分配给 box1 和 box2。我创建了一个函数ucfirst() 将第一个字母转换为大写。希望对您有所帮助。

    【讨论】:

    • 你是明星。非常感谢你的帮助。我还添加了一个 box3 来使用该数字,并且使用您创建的数组非常容易。当天的英雄
    • 很高兴为您提供帮助。非常感谢您的赞美。 :) @Per
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多