Jquery ajax问题与单选按钮列表

时间:2010-01-06 01:48:45

标签: jquery attributes

<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(){ }                                

                }); 

            })  
  }); 

4 个答案:

答案 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。 (注意匹配的引号)这可能是你问题的原因,如果我对它过于挑剔,看起来其他人可能在正确的轨道上。