输入选择值,拆分并添加到两个新的输入值字段中

时间:2018-04-20 07:30:13

标签: jquery forms woocommerce

我在这些论坛中得到了帮助(谢谢)修复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值更改为小写 - 选择选项"玩家名称,3"成为"球员名称-3-1"最后一个数字只是一个字段ID 我想使用上面的脚本但是修改它,以及#34; playername-3-1" (每个选项值)分为名称和数字(第一个 - 左边的数字 - 和第一个 - 之后的数字)和大写(第一个字母)分成两个单独的字段。

左边" - "进入box2(和大写) 和#34; - "并且离开第2" - "进入box3

我该怎么做?

我是一个完整的新手(正如你所知道的那样)并且在我继续前进的过程中尝试学习。抱歉我缺乏知识,但我对此知之甚少,我甚至不知道从哪里开始谷歌。

希望得到怜悯和帮助。

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

1 个答案:

答案 0 :(得分:0)

您可以使用此脚本。

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指数和" 3"在第一指数。您可以将这些值分配给box1和box2。我创建了一个函数ucfirst()来转换大写的第一个字母。希望有帮助。