<input type='radio' name='rbTemplateList' id='template1" value=1 >
<input type='radio' name='rbTemplateList' id='template3" value=3 >
<input type='radio' name='rbTemplateList' id='template5" value=5 >
<input type='radio' name='rbTemplateList' id='template7" value=7 >
我想点击其中一个rbTemplateList,会引发ajax调用(jquery样式) 但它根本不起作用......
我相信这与id&amp;名称属性
$(document).ready(function() {
var f = document.frm;
$("#rbTemplateList").click(function() {
pkTemplate= getSelectedRadioValue(f.rbTemplateList);
$.ajax({
url: "ajaxColor.php",
type: "POST",
data: 'pkTemplate='+pkTemplate,
timeout: 5000,
beforeSend: function(){ },
error: function(XMLHttpRequest, textStatus, errorThrown) {
},
success: function(output) {
},
complete: function(){ }
});
})
});
答案 0 :(得分:1)
问题在于您使用$("#rbTemplateList")
将事件附加到单选按钮,但是开头的#是指元素的ID,而rbTemplateList是作为html中的名称给出的。
您应该将选择器更改为$(":input[name='rbTemplateList']")
答案 1 :(得分:0)
HTML 用“class”更改“name”
<input type="radio" class="rbClassTemplateList" name="rbTemplateList" id="template1" value="1" />
<input type="radio" class="rbClassTemplateList" name="rbTemplateList" id="template2" value="2" />
...
JS 将“#rbTemplateList”更改为“.rbClassTemplateList”
...
$(".rbClassTemplateList").click(function() {
...
OR
<input type='radio' name='rbTemplateList' id='template1" value="1" />
<input type='radio' name='rbTemplateList' id='template3" value="3" />
<input type='radio' name='rbTemplateList' id='template5" value="5" />
<input type='radio' name='rbTemplateList' id='template7" value="7" />
JS:
...
$("input[name='rbTemplateList']").click(function() {
...
答案 2 :(得分:0)
您正在使用“#rbTemplateList”,它将引用rbTemplateList的id,但这是每个元素的名称。为简单起见,您可以为它们分配所有相同的类:
类= '某物'
然后使用$(“。something”)。点击
答案 3 :(得分:0)
这是你的实际html还是输错了?
<input type='radio' name='rbTemplateList' id='template1" value=1 >
应该是
<input type='radio' name='rbTemplateList' id='template1' value='1'>
正确的HTML。 (注意匹配的引号)这可能是你问题的原因,如果我对它过于挑剔,看起来其他人可能在正确的轨道上。