gpt4 book ai didi

javascript - 调用函数.oninput

转载 作者:行者123 更新时间:2023-11-28 06:43:59 26 4
gpt4 key购买 nike

JSFIDDLE

HTML:

<input type="number" id="strScore" class="attribScore" min=8 max=15>
<input type="number" id="strMod" class="attribMod" readonly="readonly">

Javascript:

/****************************************************************
document.getElementById("strScore").oninput = function update(e) {
var result = document.getElementById("strMod");
var attribScore = $('#strScore').val();
result.value = (Math.floor((attribScore / 2) -5));
}
******************************************************************/
var strScore = $('#strScore').val();
var strMod = $('#strMod').val();
var update = function(score, mod) {
attribMod = (Math.floor(score / 2) - 5);
mod.value = attribMod;
};
update(strScore,strMod);

当左侧输入更新为能力得分时,右侧输入应反射(reflect)能力修饰符。javascript 的注释部分功能完美,但我真的不想为每个需要像这样更新的输入提供单独的函数 - 一个函数在将来更容易隔离和排除故障。我想要做的是拥有一个函数,我可以将分数和修饰符输入值作为参数(在本例中为 strScore 和 strMod)传递给该函数,并让它通过 .oninput 更新修饰符字段事件。我对此的尝试位于 javascript 的注释部分下方。我觉得我只是没有将如何正确调用函数或正确更新传递给函数的修饰符输入的点联系起来。

最佳答案

唷。被人从 table 上拉开。这是为您提供的解决方案。您只需要确保 strscore 设置有 ID 号即可。这样您就可以了解您想要更改的 strmod。

例如。 strScore1 = strMod1 和 strScore2 = strMod2

这将设置一个场景,您将来无需再接触 JavaScript 即可执行相同的功能。允许您在 HTML 部分添加任意数量的乐谱和调制对句。

我们将 'input' 事件绑定(bind)到 .attributeScore 类上,这允许我们设置函数。不需要传递值,因为默认情况下它们已经包含在内。只要分数输入具有 .attributeScore 类,那么它就会触发该函数。

我们可以使用 this.value 获取分数值,然后对 strScore1 的分数身份进行子字符串化,即 1 > 来自输入字段的 this.id 属性。

如果我们将该子字符串与 #strMod 连接起来,我们可以使用内联数学更新相应的 strMod 属性的值。

这是 jsfiddle:http://jsfiddle.net/hrofz8rg/

<!DOCTYPE html>
<html>
<head>
<title>Some JavaScript Example</title>
</head>
<body>
<input type="number" id="strScore1" class="attribScore" min=8 max=15>
<input type="number" id="strMod1" class="attribMod" readonly="readonly">
<br>
<br>
<input type="number" id="strScore2" class="attribScore" min=8 max=15>
<input type="number" id="strMod2" class="attribMod" readonly="readonly">

<!-- JavaScript -->
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script>
$(".attribScore").bind({
'input':function(){
var attrib_num = this.id.substring(8,this.length);
$('#strMod' + attrib_num).val((Math.floor(this.value / 2) - 5));
}
});
</script>

</body>
</html>

希望有帮助!享受吧!

关于javascript - 调用函数.oninput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33551833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com