有没有办法在处理所有 HTML 按钮的 jQuery 中只有一个函数?

陌生人

我正在研究价格计算器,并希望根据所选按钮计算价格。我也在寻找一种方法来做到这一点,只需一个功能,而不是每个按钮都有 onclick 功能。

我曾尝试为每个按钮创建一个 onclick 事件,但这不是方法,因为文档充满了毫无意义的功能。

<div class="btn-toolbar mb-3" role="toolbar">
    <div class="btn-group btn-group-sm" role="group" style="margin: auto;">
        <span class="input-group-text" id="inputGroup-sizing-sm">Počet vodivých vrstev</span>
        <button type="button" class="btn btn-secondary btn-form">1</button>
        <button type="button" class="btn btn-secondary btn-form">2</button>
        <button type="button" class="btn btn-secondary btn-form">4</button>
        <button type="button" class="btn btn-secondary btn-form">6</button>
    </div>
</div>

我希望对所有这些按钮只使用一个函数,并且只读取按钮值并在之后使用它。到目前为止,我一直在为每个按钮使用 onclick,但这不是要走的路,因为文档最终充满了只包含一行的功能,我认为只有一个功能是可能的,而不是有大量功能和点击事件。我还希望按钮更改包含在名为 $currentPrice 的变量中的总产品价格,我正在更新更改和单击事件,因此它只需要编辑变量 $currentPrice。

埃维克·加扎里安

如果您对按钮进行相同的计算,但只有您提到的不同值:

我希望对所有这些按钮只使用一个函数,并且只读取按钮值并在之后使用它。

你可以做:

$("button").click(function() {
$(".rates").html("rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*150);
});
.rates {
  margin-top: 15px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="btn-toolbar mb-3" role="toolbar">
    <div class="btn-group btn-group-sm" role="group" style="margin: auto;">
        <span class="input-group-text" id="inputGroup-sizing-sm">Počet vodivých vrstev</span>
        <button type="button" class="btn btn-secondary btn-form">1</button>
        <button type="button" class="btn btn-secondary btn-form">2</button>
        <button type="button" class="btn btn-secondary btn-form">4</button>
        <button type="button" class="btn btn-secondary btn-form">6</button>
    </div>
</div>
<div class="rates">
</div>

但是,如果每个按钮的计算不同,您可以执行以下操作:

$("button").click(function() {
switch($(this).text()) {
case "1":
$(".rates").html("good rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*150);
break;
case "2":
$(".rates").html("better rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*200);
break;
case "4":
$(".rates").html("best rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*150);
break;
default:
$(".rates").html("normal rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*100);
}
});
.rates {
  margin-top: 15px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="btn-toolbar mb-3" role="toolbar">
    <div class="btn-group btn-group-sm" role="group" style="margin: auto;">
        <span class="input-group-text" id="inputGroup-sizing-sm">Počet vodivých vrstev</span>
        <button type="button" class="btn btn-secondary btn-form">1</button>
        <button type="button" class="btn btn-secondary btn-form">2</button>
        <button type="button" class="btn btn-secondary btn-form">4</button>
        <button type="button" class="btn btn-secondary btn-form">6</button>
    </div>
</div>
<div class="rates">
</div>

供您评论:

请注意我如何将group-1group-2类添加到容器 div 以及我如何将单击功能从 button 更改为group-1 buttongroup-2 button我还将第二个跨度的更改 id 更改为inputGroup-sizing-sm2,因为 id 必须是唯一的,并且每页一个。

看看这个:

$(".group-1 button").click(function() {
switch($(this).text()) {
case "1":
$(".rates").html("FROM 1-ST GROUP good rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*150);
break;
case "2":
$(".rates").html("FROM 1-ST GROUP better rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*200);
break;
case "4":
$(".rates").html("FROM 1-ST GROUP best rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*150);
break;
default:
$(".rates").html("FROM 1-ST GROUP normal rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*100);
}
});
$(".group-2 button").click(function() {
switch($(this).text()) {
case "1":
$(".rates").html("FROM 2-ND GROUP good rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*150);
break;
case "2":
$(".rates").html("FROM 2-ND GROUP better rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*200);
break;
case "4":
$(".rates").html("FROM 2-ND GROUP best rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*150);
break;
default:
$(".rates").html("FROM 2-ND GROUP normal rates for " + $(this).text() + " Počet vodivých vrstev are: $" + $(this).text()*100);
}
});
.rates {
  margin-top: 15px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="btn-toolbar mb-3" role="toolbar">
    <div class="group-1 btn-group btn-group-sm" role="group" style="margin: auto;">
        <span class="input-group-text" id="inputGroup-sizing-sm">Počet vodivých vrstev</span>
        <button type="button" class="btn btn-secondary btn-form">1</button>
        <button type="button" class="btn btn-secondary btn-form">2</button>
        <button type="button" class="btn btn-secondary btn-form">4</button>
        <button type="button" class="btn btn-secondary btn-form">6</button>
    </div>
</div>
<div class="btn-toolbar mb-3" role="toolbar">
    <div class="group-2 btn-group btn-group-sm" role="group" style="margin: auto;">
        <span class="input-group-text" id="inputGroup-sizing-sm2">Počet vodivých vrstev</span>
        <button type="button" class="btn btn-secondary btn-form">1</button>
        <button type="button" class="btn btn-secondary btn-form">2</button>
        <button type="button" class="btn btn-secondary btn-form">4</button>
        <button type="button" class="btn btn-secondary btn-form">6</button>
    </div>
</div>
<div class="rates">
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法在 Javascript/HTML 中单击按钮更新现有数组?

有没有办法检查是否在 jQuery 中选择了第 n 个单选按钮?

有没有办法检查HTML / Javascript中是否单击了按钮?

有没有办法用 jQuery 按钮删除这个 div?

有没有办法让 HTML 按钮像 React 中的单选按钮一样工作?

有没有办法选择包含一个包含文本“按钮”的类的页面中的所有元素?

有没有办法隐藏所有现有的按钮?

有没有办法禁用某些HTML锚点的jQuery滚动动画?

有没有办法隐藏 p5js 上的所有按钮?

有没有办法更改所有 QMessageBox 的 OK 按钮的样式表?

有没有办法断点所有按钮touchUpInside方法?

有没有办法在 tkinter 中为此制作一个重置按钮?

有没有办法在Tkinter中制作一个不可见的按钮?

有没有办法在一个按钮内添加两个按钮?

有没有办法显示HTML中python数组中的所有元素?

HTML(或ColdFusion)中有没有办法让单选按钮触发超链接而无需提交表单?

有没有办法让X按钮退出Spotify?

有没有办法让这个按钮动画化?

有没有办法在我的 html 页面上执行 JavaScript/JQuery 函数指定的时间然后停止执行?

有没有办法对我的所有HTML页面使用模板文件?

有没有办法以编程方式获取所有全局 HTML 属性的列表?

有没有办法使用 jQuery 操作 HTML 复选框的一部分值?

有没有办法构建一组切换按钮并跟踪所有已单击的按钮?

有没有办法在Selenium中处理HTML表单的弹出信息?

有没有办法在JQuery中延迟mouseleave?

有没有办法在html中触发事件

有没有办法用 PyGtk 制作一个不确定的复选按钮?

有没有办法使用 nana 库选择一个随机按钮?

Flutter:有没有办法从另一个按钮更改卡片的内容?