javascript - 在 JavaScript 中使用数组作为名称对输入元素的值进行计数

标签 javascript html arrays function input

我想要的是存储 ID 为 3 的数据库对象的总和。(请参阅下面的输入标签) 我有许多具有不同值的不同 ID。下面示例中我要存储的值为 2。

除此之外,我想通过 JavaScript 使用“+”和“-”按钮增加/减少 sum[3] 的值。所以我创建了一个名为 incr 和 decr 的函数来执行此操作:

<script type="text/javascript">
function incr(what)
{
    alert(what);
    what.value ++;

    // rest of the function I left out, it works with a 'normal' name of the input tag
    //but I need to use the array
}    
</script>

how many?<input type="text" size="10" name="sum[3]" value="2" />
<input name="plus" type="button" value="+" onclick="incr(document.sum[3])" />
<input name="min" type="button" value="-" onclick="decr(document.sum[3])" />

我无法让它工作,即使警报也没有返回值。有人吗?

最佳答案

这不是最优雅的方法,因为它使用了大量内联代码,但它可以解决您的问题。您的方法出了什么问题是 document.sum[3] 不是 name="sum[3]"输入的正确选择器

<script type="text/javascript">
function incr(what)
{

    what.value ++;
    alert(what.value);
    // rest of the function I left out, it works with a 'normal' name of the input tag
    //but I need to use the array
}    
</script>

how many?<input type="text" size="10" name="sum[3]" value="2" />
<input name="plus" type="button" value="+" onclick="incr(document.getElementsByName('sum[3]')[0])" />
<input name="min" type="button" value="-" onclick="decr(document.getElementsByName('sum[3]')[0])" />

您应该考虑使用 jQuery 并使用事件处理程序重构代码,而不是使用内联 javascript。

关于javascript - 在 JavaScript 中使用数组作为名称对输入元素的值进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335817/

相关文章:

javascript - 从客户端获取文本 Controller 值

javascript - Websockets 仅返回字符串如何获取字符串形式的数组

c - 尝试从用户输入的数组中获取最小数字时出现段错误

java - 在方法内部声明的数组与在方法外部声明并在方法内部用作输入的数组在时间上有所不同

python - list(numpy_array) 和 numpy_array.tolist() 之间的区别

javascript - 使用同一页面上显示的相同函数将结果相乘

javascript - 从 Browserify 模块访问 DOM 时出现问题

asp.net - 通过代码隐藏将属性添加到 html 标记会导致错误类型 (System.Web.UI.HtmlControls.HtmlElement) 不兼容

html - Container-Fluid 在冷的两边几乎没有填充物

javascript - 计算jQuery中选择标签中的选项标签数量