【发布时间】:2021-07-23 18:05:51
【问题描述】:
当 HTML 表单中的单选按钮被选中时,我希望它会运行我已链接到它的 onclick 函数。我之前尝试使用 onclick 而不是 onchange ,但它不适用于单选按钮。有没有人有任何建议/技巧可以用来解决这个问题?
function select(id, job, salary, someBool) {
console.log(id, job, salary, someBool);
}
<form class="choice">
<input type="radio" id="librarian" name="profession" value="lib" onclick="select('#professionSelect', 'Librarian', 4850, true);">
<label for="librarian">Librarian: $4,850/month</label><br>
<input type="radio" id="mechanic" name="profession" value="mech" onclick="select('#professionSelect', 'Motorcycle Mechanic', 2800, true)">
<label for="mechanic">Motorcycle Mechanic: $2,800/month</label><br>
<input type="radio" id="actor" name="profession" value="act" onclick="select('#professionSelect', 'Actor', 3100, true)">
<label for="actor">Actor: $3,100/month</label><br>
<input type="radio" id="teacher" name="profession" value="tea" onclick="select('#professionSelect', 'Teacher', 4500, true)">
<label for="teacher">Teacher: $4,500/month</label><br>
<input type="radio" id="doctor" name="profession" value="doc" onclick="select('#professionSelect', 'Doctor', 13000, true)">
<label for="doctor">Doctor: $13,000/month</label><br>
<input type="radio" id="fire" name="profession" value="fi" onclick="select('#professionSelect', 'Firefighter', 3700, true)">
<label for="fire">Firefighter: $3,700/month</label><br>
<input type="radio" id="engineer" name="profession" value="engi" onclick="select('#professionSelect', 'Computer Engineer', 9400, true)">
<label for="engineer">Computer Engineer: $9,400/month</label><br>
</form>
这样的东西有用吗?
$(".choice").change(function() {
$(this).onclick();
});
【问题讨论】:
-
您好,伙计,我刚刚发现您基本上是通过 HTML 传递要由函数显示的数据,为此我们在 HTML 中有
data-属性。我已经为此提供了我的解决方案。希望这可以帮助。还有其他方法可以解决您的查询,但是根据您的要求,这非常适合您。 -
如果您需要任何其他帮助,请告诉我。我最初想到的另一个想法是设置数组中的所有值,然后在 javascript 中使用 forEach 来评估单击了哪个值,但是我需要两个循环。这里通过使用
data-profession属性并从HTML 本身发送值,我们只使用一个forEach()来实现相同的效果!!!希望这可以帮助。干杯!!! -
感谢大家的建议!! :)
-
很高兴我们提供了帮助 :) 保持祝福的伙伴。并享受编码!上帝保佑你
标签: javascript html jquery onclick onchange