JQuery AJAX проблема со списком переключателей - PullRequest
0 голосов
/ 06 января 2010
<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 & name

        $(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 ]

1 голос
/ 06 января 2010

Проблема в том, что вы используете $("#rbTemplateList") для присоединения события к переключателям, но # в начале относится к идентификаторам элементов, а rbTemplateList задается в качестве имени в вашем html.

Вы должны изменить свой селектор на $(":input[name='rbTemplateList']")

0 голосов
/ 06 января 2010

Вы используете "#rbTemplateList", который будет ссылаться на идентификатор rbTemplateList, но это имя каждого элемента. Для простоты вы можете назначить им все одинаковые классы:

класс = 'что-то'

затем используйте $ (". Что-то"). Нажмите

0 голосов
/ 06 января 2010

Это ваш фактический html или он только что был введен неправильно?

<input type='radio' name='rbTemplateList' id='template1" value=1    >

должно быть

<input type='radio' name='rbTemplateList' id='template1' value='1'>

для правильного HTML. (обратите внимание на соответствующие кавычки) Это может быть причиной вашей проблемы, если я просто слишком привередлив к этому, похоже, что другие могут быть на правильном пути.

0 голосов
/ 06 января 2010

HTML меняет «имя» на «класс»

<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() {
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...