Javascript jQuery在选择单选按钮不工作时显示警报框
我在下面的jQuery代码中花了很多时间,现在它只是在选择单选按钮时显示一个警报框;然而,我无法精确指出为什么我的函数根本没有执行 我在这里做了一个jsfiddle: 以下是我到目前为止得到的信息:Javascript jQuery在选择单选按钮不工作时显示警报框,javascript,jquery,Javascript,Jquery,我在下面的jQuery代码中花了很多时间,现在它只是在选择单选按钮时显示一个警报框;然而,我无法精确指出为什么我的函数根本没有执行 我在这里做了一个jsfiddle: 以下是我到目前为止得到的信息: $(document).ready(function(){ $('input[name="years"]').change(function() { if($('#years_3_Years').is(':checked')) { alert("36 Months");
$(document).ready(function(){
$('input[name="years"]').change(function() {
if($('#years_3_Years').is(':checked')) {
alert("36 Months");
} else if ($('#years_4_Years').is(':checked')){
alert("48 Months");
} else if ($('#years_5_Years').is(':checked')){
alert("60 Months");
}
};
);
}
);
<form id="plangen" action="/calculate" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="JkGFl38I+e1Kc/JJFW1tIKdJAw7rGuDe6yeTKHLRDOjcI5f3yMDeQADZYGw3/ku2fuRJip0P2nAAPtFt/o1BvA==" />
<label for="amt">Car loan amount:</label>
<input type="text" name="amt" id="amt" /><br>
<label for="dp">Down Payment:</label>
<input type="text" name="dp" id="dp" /><br>
<label for="int">Annual Interest:</label>
<input type="text" name="int" id="int" /><br>
<input type="radio" name="years" id="years_3_Years" value="3 Years" />
<label for="years3_child">Will pay in 3 years</label><br>
<input type="radio" name="years" id="years_4_Years" value="4 Years" />
<label for="years4_child">Will pay in 4 years</label><br>
<input type="radio" name="years" id="years_5_Years" value="5 Years" />
<label for="years5_child">Will pay in 5 years</label><br>
<label for="resu">You will pay $ monthly:</label>
<input type="text" name="resu" id="resu" /><br>
<button type="button" id = "calc">Calculate</button>
$(文档).ready(函数(){
$('input[name=“years”]”)。更改(函数(){
如果($('#years_3_years')是(':checked'){
警报(“36个月”);
}如果($('years'u 4'u years')是('checked')){
警报(“48个月”);
}如果($('years'u 5'u years')是('checked')){
警报(“60个月”);
}
};
);
}
);
汽车贷款金额:
首付款:
年息:
将在3年内付款
将在4年内付款
将在5年内付款
您将每月支付$
算计
多亏了@vihan1086,我才能够更改此代码并使上述代码正常工作。我在这里更新了我的JSFIDLE有三个问题:
1:
名称不正确,应为:input[type=radio]
2:
您需要切换到“onLoad”(可能就是我)
三:
你有大写错误
if($('#years_3_years').is(':checked')) {
需要:
if($('#years_3_Years').is(':checked')) {
3年
->3年
要避免这种情况,请将事件设置为“单击”。如果将此
替换为:
if (/(?:(?:years_)\d+(?:_Years))/i.test('years_4_Years')) {
alert(parseInt($(this).attr('value').trim(), 10) * 12 + 'Months');
}
这将自动生成警报
三个问题:
1:
名称不正确,应为:input[type=radio]
2:
您需要切换到“onLoad”(可能就是我)
三:
你有大写错误
if($('#years_3_years').is(':checked')) {
需要:
if($('#years_3_Years').is(':checked')) {
3年
->3年
要避免这种情况,请将事件设置为“单击”。如果将此替换为:
if (/(?:(?:years_)\d+(?:_Years))/i.test('years_4_Years')) {
alert(parseInt($(this).attr('value').trim(), 10) * 12 + 'Months');
}
这将自动生成警报
三个问题:
1:
名称不正确,应为:input[type=radio]
2:
您需要切换到“onLoad”(可能就是我)
三:
你有大写错误
if($('#years_3_years').is(':checked')) {
需要:
if($('#years_3_Years').is(':checked')) {
3年
->3年
要避免这种情况,请将事件设置为“单击”。如果将此替换为:
if (/(?:(?:years_)\d+(?:_Years))/i.test('years_4_Years')) {
alert(parseInt($(this).attr('value').trim(), 10) * 12 + 'Months');
}
这将自动生成警报
三个问题:
1:
名称不正确,应为:input[type=radio]
2:
您需要切换到“onLoad”(可能就是我)
三:
你有大写错误
if($('#years_3_years').is(':checked')) {
需要:
if($('#years_3_Years').is(':checked')) {
3年
->3年
要避免这种情况,请将事件设置为“单击”。如果将此替换为:
if (/(?:(?:years_)\d+(?:_Years))/i.test('years_4_Years')) {
alert(parseInt($(this).attr('value').trim(), 10) * 12 + 'Months');
}
这将自动生成警报
选择器必须是类型而不是名称
您可以使用$(this)而不是检查所有收音机按钮
选择器必须是类型而不是名称
您可以使用$(this)而不是检查所有收音机按钮
选择器必须是类型而不是名称
您可以使用$(this)而不是检查所有收音机按钮
选择器必须是类型而不是名称
您可以使用$(this)而不是检查所有收音机按钮
因为它在JSfiddle中工作,而且解决方案很简单,所以对您的评价很高。我不知道为什么会有人投你反对票。可能是故意的可能是(@Zero。无论如何,谢谢你投你的票,因为它在JSFIDLE中工作,解决方法很简单。我不知道为什么会有人投你反对票。可能是故意的可能是((@Zero.ThanwayUp投票给你,因为它在JSFIDLE中起作用,解决方案很简单。我不知道为什么会有人反对你。可能是故意的可能是(@Zero.ThanwayUp投票给你,因为它在JSFIDLE中起作用,解决方案很简单。我不知道为什么会有人反对你。可能是故意的可能是((@Zero.无论如何谢谢有趣的回答。我现在正试图把这个东西放到coffeescript中,这样它就可以在rails上工作了,但它不在rails上工作。这可能是另一个问题的主题。coffeescript现在工作:code$(如果$('.'years\u3'years')。是(':选中)警报“36个月”如果$(“#years_4_years”)。如果$(“#years_5_years”)。是(“:checked”)警报“48个月”。是(“:checked”)警报“60个月”
有趣的答案。我正在尝试将此内容导入coffeescript,以便它可以在rails上工作,但在rails上不工作。这可能是另一个问题的主题。coffeescript正在工作:code$(“输入[type='radio']”。在“单击”时,->if$('years'u 3'u years')。如果$('years'u 4'u years'),则('checked')警报'36个月'。如果$('years'u 5'u years'),则('checked')警报'48个月'。如果$('years'u 5'u years')。则('checked')。是('checked'))警报“60个月”
有趣的答案。我正在尝试将此内容输入coffeescript,以便它可以在rails上工作,但在rails上不工作。这可能是另一个问题的主题。coffeescript现在工作:code$(“输入[type='radio'])。在“单击”时,如果$('years'u3'years')。是否('checked')如果$('years_4_years'),则警报'36个月'。如果$('years_5_years'),则警报'48个月'。如果$('years_5_years')。则警报'48个月'。'警报“60个月”
有趣的答案。我正在尝试将此内容输入coffeescript,以便它可以在rails上工作,但在rails上不工作。这可能是另一个问题的主题。coffeescript现在工作:code$(“输入[type='radio'])。在“单击”时,如果$('years'u3'years')。是否('checked')如果$('years_4_years'),则警报'36个月'。如果$('years_5_years'),则警报'48个月'。如果$('years_5_years')。则警报'60个月'。