2017-02-21 33 views
-1

Я пишу код для переключателей, где есть 3 переключателя, такие как ДА, НЕТ и ВСЕ. Я использую одно имя класса для всех 3, а также привязываю значение для них. Если пользователь нажимает на один из трех вариантов, могущих передать соответствующее значение в событии onclick, но моя проблема заключается в том, как узнать, нажимает ли пользователь на какую кнопку радиона среди трех кнопок, например, если пользователь нажимает кнопку «Все», которую я хочу выполнить какой-либо тип действия, если пользователь нажимает кнопку «Да», а затем какое-то другое действие и т. д., как узнать, как пользователь нажимает на какой переключатель? mycode ниже:Работа с переключателями, передающими статус вместе со значением?

<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">All 
<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">Yes 
<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">No 

Мне нужно значение переключателя радиосвязи вместе с пользователем, нажав на который переключатель. как добиться этого? Кто-нибудь может направить меня.

+1

Все ваши значения кнопок радиосвязи одинаковы. Передавайте разные значения для каждого переключателя. Затем вы можете получить выбранное значение переключателя в php –

+0

@ B.Desai * Aye *, так что верно. Однако OP, похоже, работает с базой данных. Если их строки содержат «Да», «Нет», «Все» в той же строке (значения, разделенные запятыми), где их база данных не была нормализована, то это может быть проблемой и представляет большую проблему. Этот метод можно использовать, но это не рекомендуется. Кто знает, что у них есть, и какова реальная проблема/решение. –

+0

Этот вопрос слишком неясен. Каковы ваши реальные значения в вашей базе данных и будете ли вы отвечать на эти комментарии, или вы отвечаете только на «ответы»? Если нет, то держитесь за это с ответами. Проголосовал за то, чтобы закрыть, как неясно. –

ответ

0

Пожалуйста, добавьте дополнительный параметр для хранения «идентификатор» в поле ввода, так же, как это:

<input type="radio" name="select_option" class="select_option" value="all" data-id="<?=$row_id;?>">All 
<input type="radio" name="select_option" class="select_option" value="yes" data-id="<?=$row_id;?>">Yes 
<input type="radio" name="select_option" class="select_option" value="no" data-id="<?=$row_id;?>">No 

Теперь, вот скрипт, который будет выполняться после проверки переключатель:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $('.select_option').click(function() { 
     if ($(this).prop('checked')) { 
      var id = $(this).data('id'); 
      var value = $(this).val(); 
     } 
     alert(value); 
    }); 
}); 
</script> 

Надеюсь, это может быть полезно для вас.

+0

Спасибо Prateek, ваше решение также работало для меня. Я смущаюсь, кому я должен голосовать, потому что решение Pandiyan также помогло мне. –

+0

Я рад, это помогло вам. Сделайте одно: решение, которое больше подходит для вас, отметьте его как право и проголосуйте за другие правильные ответы, так что другие, которые очень нуждаются, могут найти наиболее подходящий ответ, спасибо. –

+0

Спасибо, Пратеек, я за тебя проголосую. может ли u plz также рассказать, что такое использование «data-» свойства элементов HTML? Я знаю, что использование becoz я использовал это свойство для модальных, например, при редактировании данных, чтобы получать информацию и показывать их во всплывающем модальном формате, но я не знаю, как мы используем эту функцию, которую вы сказали в решении. –

0

попробовать это

$(".select_option").change(function(){ 
     var radioValue = $("input[name='select_option']:checked").val(); 
     if(radioValue){ 
      alert("Your are clicked - " + radioValue); 
     } 
    }); 
0
$(".select_option").change(function() { 
    if ($(this).is(":checked")) { 
     var value = $(this).val(); 
     console.log(value); 
    } 
}); 

fiddle

+0

Я могу получить значение, но мой вопрос здесь заключается в том, как узнать, нажал ли пользователь на какой переключатель между тремя «Все», «Да», «НЕТ» –

+0

вы можете использовать переменную значения для дальнейшего процесса –

+0

, вы также можете проверить скрипт, который я редактировал –

1

Я добавил свои имена классов (все, да, нет) в этих HTML элементов

<input type="radio" name="select_option" class="select_option all" value="<?=$row_id;?>">All 
<input type="radio" name="select_option" class="select_option yes" value="<?=$row_id;?>">Yes 
<input type="radio" name="select_option" class="select_option no" value="<?=$row_id;?>">No 

Использование JQuery

$(document).ready(function(){ 
    $("input:radio").click(function(e){ 

     if($(this).hasClass("all")) 
     { 
       console.log("which button -> all"); 
       console.log("value="+$(this).val()); 
     } 
     else if($(this).hasClass("yes")) 
     { 
       console.log("which button -> yes"); 
       console.log("value="+$(this).val()); 
     } 
     else if($(this).hasClass("no")) 
     { 
       console.log("which button -> no"); 
       console.log("value="+$(this).val()); 
     } 
    }); 
}); 

FIDDLE

+0

Спасибо, ваше решение сработало для меня. Но я должен также проверить решение @Prateek Verma. –

+0

Спасибо за ваши усилия Пандияна очень ценю. Я даю вам один голос, но не даю в качестве правильного ответа. Я понял, что решение Пратека более подходит для моего требования. Еще раз спасибо :) –

+0

спасибо @prasadchinthala – Pandiyan