Использование Jquery Selectors (флажок) выполнить onClick - PullRequest
0 голосов
/ 04 апреля 2011
function sendValues() {
var str = $("#ryan_m").serialize();
var response = $('input[name=brand[]]:checked').val();
$.ajax({
    url: "/trying1.php?avoidcache=' + myTimestamp();",
    data: {str}
    cache: false
});
}

<form action="trying1.php?b_id=$brand_id" method="get"/></td>
     <input type="checkbox" name="brand[]" value="$brand_id"/>
         <input type="submit" value="Compare" id="ryan_m" method="get" />
            </form>

Я пытаюсь использовать этот запрос Ajax для выполнения после проверки доступных флажков.В настоящее время этот скрипт будет делать именно то, что я хочу, но я должен нажать «Отправить» для его выполнения.

Мой вопрос:

Есть ли простой способ выполнить ajax после нажатияфлажок, не нажимая отправить?

Ответы [ 4 ]

1 голос
/ 04 апреля 2011
$("input[type=checkbox]").change(function() {
  $("form").submit();
});
0 голосов
/ 04 апреля 2011

Вы можете использовать jQuery .submit () для отправки формы по клику.

<form action="trying1.php?b_id=$brand_id" id="myForm" method="get"/></td>
    <input type="checkbox" name="brand[]" class="myCheckbox" value="$brand_id"/>
    <input type="submit" value="Compare" id="ryan_m" method="get" />
</form>

Дайте вам форму ID и присвойте флажок классу, или если вы хотите, чтобы ID был только один. Тогда в вашем jquery.

function sendValues() {
    var str = $("#ryan_m").serialize();
    var response = $('input[name=brand[]]:checked').val();
    $.ajax({
        url: "/trying1.php?avoidcache=' + myTimestamp();",
        data: {str}
        cache: false
    });
 }

$('.myCheckbox').change(function(){
    $('#myForm').submit(function(){
        sendValues();
        return false; 
    });
});

Я не проверял код, но это идеальная идея.

0 голосов
/ 04 апреля 2011
$(document).ready(function() {
    $('[name="brand[]"]').change(function() {
        sendValues();  
    });
});

Демо здесь: http://jsfiddle.net/JtBe2/

0 голосов
/ 04 апреля 2011
$("input[name=brand[]]").change(function() {
    sendValues();
    alert("Data is sent."); // Remove this - Just for testing purpose
});

Событие изменения jQuery . Это обнаруживает все виды изменений для всех видов <input>. <select> и <textarea>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...