我正在尝试创建一个脚本,该脚本使用Ajax发布单选按钮单击的结果。
到目前为止,我有:
<label>
<input type="radio" name="DisableAd" value="0" id="RadioGroup1_0" />
Radio
</label><br/>
<label>
<input type="radio" name="DisableAd" value="0" id="RadioGroup1_1" />
Radio
</label>
和:
$(document).ready(function() {
$('.DisableAd').click(function() {
event.preventDefault();
var parameters = {
'disAd': $('input[name="DisableAd"]').val(),
};
if (parameters == 0) {
parameters = 0;
} else {
parameters = 1;
}
console.log('Posting: ', parameters);
$.ajax({
url: 'disableAd.php',
data: parameters,
type: 'post',
dataType: 'json',
success: function(data) {
// ... do something with the data...
console.log('Ad disabled', data);
}
});
});
});
上面的代码不起作用,但是我看不到我要去哪里。
非常感谢您的宝贵时间。
答案 0 :(得分:1)
您正在为点击处理程序使用选择器".DisableAd"
,但是您没有该名称的类。而是使用$('[name="DisableAd"]')
。
我还更改了单选值,以便您可以看到parameters
对象disAd
属性分配的反射变化-我将其更改为$(this).val()
,希望对您有所帮助< / p>
$(document).ready(function() {
$('[name="DisableAd"]').click(function() {
//event.preventDefault();
var parameters = {
'disAd': $(this).val(), // changed this as well so you can retrieve selected radio value
};
if (parameters.disAd == 0) {
parameters = 0;
} else {
parameters = 1;
}
console.log('Posting: ', parameters);
$.ajax({
url: 'disableAd.php',
data: parameters,
type: 'post',
dataType: 'json',
success: function(data) {
// ... do something with the data...
console.log('Ad disabled', data);
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
<input type="radio" name="DisableAd" value="0" id="RadioGroup1_0" />
Radio</label><br/>
<label>
<input type="radio" name="DisableAd" value="1" id="RadioGroup1_1" />
Radio</label>
答案 1 :(得分:0)
您已使用类选择器$('。DisableAd')。click(function()....
但是您还没有在单选按钮输入类型元素中声明class属性。
在输入类型元素中声明一个类,如下所示:
<input type="radio" class="DisableAd" name="DisableAd" value="0" id="RadioGroup1_0" />
Radio</label><br/>
<label>
<input type="radio" class="DisableAd" name="DisableAd" value="0" id="RadioGroup1_1" />
Radio</label>
它将起作用! :)