我在这些论坛中得到了帮助(谢谢)修复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插件,我无法更改插件......
答案 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()
来转换大写的第一个字母。希望有帮助。