JQuery istifadə edərək hansı keçid seçildiyini necə öyrənmək olar?

İki keçid var və seçilmiş dəyəri dərc etmək istəyirlər. JQuery-dən istifadə etmək üçün necə bir dəyər əldə edə bilərəm?

Bunların hamısını belə ala bilərəm:

 $("form :radio") 

Birinin seçildiyini necə öyrənmək olar?

2414
27 февр. 27 fevralda Juan tərəfindən təyin olundu 2009-02-27 22:53 '09 at 10:53 AM 2009-02-27 22:53
@ 33 cavab
  • 1
  • 2

Seçilmiş formada radioName elementinin dəyərini radioName ilə id myForm :

 $('input[name=radioName]:checked', '#myForm').val() 

Burada bir nümunə:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="myForm"> <input type="radio" name="radioName" value="1" /> 1 <br /> <input type="radio" name="radioName" value="2" /> 2 <br /> <input type="radio" name="radioName" value="3" /> 3 <br /> </form> 
3655
27 февр. Cavab Peter J 27 fevralda verilir. 2009-02-27 22:58 '09 at 10:58 pm 2009-02-27 22:58

İstifadə edin.

border=0
 $("#myform input[type='radio']:checked").val(); 
382
07 янв. cavab Joberror 07 jan verildi . 2010-01-07 03:45 '10 saat 03:45 'da 2010-01-07 03:45

Zaten bir qrup keçid bağlantısı varsa, məsələn:

 var myRadio = $("input[name=myRadio]"); 

filter() funksiyasından istifadə edin find() . ( find() uşaq / nəslin elementlərini müəyyən etmək üçün, filter() seçiminizdə üst səviyyəli elementləri axtarır.)

 var checkedValue = myRadio.filter(":checked").val(); 

Qeydlər. Bu cavab ilk növbədə redaktə edilmiş göründüyü find() funksiyasını tövsiyə edən başqa bir cavabı düzəldirdi. find() hələ konteyner elementinə müraciət etdiyiniz bir vəziyyət üçün faydalı ola bilər, ancaq keçidlərə deyil, məsələn:

 var form = $("#mainForm"); ... var checkedValue = form.find("input[name=myRadio]:checked").val(); 
278
09 февр. Cavab Matt Browne 09 fevral. 2011-02-09 21:25 '11 at 21:25 2011-02-09 21:25

Bu işləməlidir:

 $("input[name='radioName']:checked").val() 

Qeyd edək ki, "giriş üçün istifadə olunmuşdur: təsdiq edilmiş, necə" necə "deyil, həll Peter J.

130
31 марта '11 в 1:29 2011-03-31 01:29 Cavab Cam Tullos tərəfindən 31 Mart 2011-ci il tarixində 1:29 2011-03-31 01:29

Siz istifadə edə bilərsiniz: radio seçicisi ilə seçilmiş selektor.

  $("form:radio:checked").val(); 
76
27 февр. Cavab 27 fevralda tvanfosson tərəfindən verilir . 2009-02-27 23:00 '09 saat 23:00 'da, 2009-02-27 23:00' də

Bütün radio stansiyalarını əldə edin:

 var radios = jQuery("input[type='radio']"); 

İşarəsi olan birini almaq üçün filtr edin

 radios.filter(":checked") 
49
01 сент. cavab Alex V 01 sep verilir. 2011-09-01 20:55 '11 saat 20:55 'də 2011-09-01 20:55

Yalnız bir boolean dəyəri, yəni yoxlanılırsa və ya bunu etməyə cəhd etməsə:

 $("#Myradio").is(":checked") 
49
30 авг. Cavab 30 Avqustda Juan tərəfindən verilir . 2013-08-30 23:27 '13 at 23:27 2013-08-30 23:27

Digər seçimdir:

 $('input[name=radioName]:checked').val() 
43
21 сент. Cavab 21 sentyabrda RedDragon tərəfindən verilir . 2011-09-21 22:35 '11 'də saat 10:35' da 2011-09-21 22:35
 $("input:radio:checked").val(); 
30
16 окт. Cavab 16 oktyabrda Phillip Senn tərəfindən verilir . 2010-10-16 23:20 '10 at 23:20 2010-10-16 23:20

İşdə formanı necə yazdığımı və doğrulanmış bir radioun alınmasını necə işləməyim.

Forma istifadə edərək myForm:

 <form id='myForm'> <input type='radio' name='radio1' class='radio1' value='val1' /> <input type='radio' name='radio1' class='radio1' value='val2' /> ... </form> 

Formadan qiymət alın:

 $('#myForm .radio1:checked').val(); 

Formu dərc etməsəniz, onu asanlaşdırıram:

 <input type='radio' class='radio1' value='val1' /> <input type='radio' class='radio1' value='val2' /> 

Sonra doğrulanan dəyərin alınması olur:

  $('.radio1:checked').val(); 

Girdiyində sinif adı olmağım asanlıqla girişlər yaratmağa imkan verir ...

23
21 сент. Cavab Darin Peterson tərəfindən verilir 21 sep. 2012-09-21 19:19 '12 saat 19:19 'da 2012-09-21 19:19

Mənim vəziyyətimdə bir formada iki keçid var və hər bir düymənin vəziyyətini bilmək istərdim. Bu mənim üçün aşağıda çalışdı:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="toggle-form"> <div id="radio"> <input type="radio" id="radio1" name="radio" checked="checked" /><label for="radio1">Plot single</label> <input type="radio" id="radio2" name="radio"/><label for="radio2">Plot all</label> </div> </form> 
21
02 авг. cavab rmbianchi 02 aug verilir . 2012-08-02 20:09 '12 at 8:09 pm 2012-08-02 20:09

Yaradılan JSF keçidində ( <h:selectOneRadio> istifadə edərək) bunu edə bilərsiniz:

 radiobuttonvalue = jQuery("input[name='form_id\:radiobutton_id']:checked").val(); 

SelectOneRadio ID radiobutton_id və formu form_iddir .

JQuery bu funksiyanı istifadə etdiyindən ( ad avtomatik olaraq JSF tərəfindən yaradılır, idarənin kimliyinə bənzəyir) göstərildiyi kimi, əvəzinə id adı yerinə istifadə etməyinizə əmin olun.

16
29 сент. Cavab 29 dekabrda Fransisko Alvaradoya verilir . 2010-09-29 22:06 '10 at 10:06 pm 2010-09-29 22:06

Radyo düyməsini dəyərləndirmək və konfiqurasiya etmək üçün jQuery plugin yazdım. O, "dəyişiklik" hadisəsini də onlara hörmətlə yanaşdı.

 (function ($) { function changeRadioButton(element, value) { var name = $(element).attr("name"); $("[type=radio][name=" + name + "]:checked").removeAttr("checked"); $("[type=radio][name=" + name + "][value=" + value + "]").attr("checked", "checked"); $("[type=radio][name=" + name + "]:checked").change(); } function getRadioButton(element) { var name = $(element).attr("name"); return $("[type=radio][name=" + name + "]:checked").attr("value"); } var originalVal = $.fn.val; $.fn.val = function(value) { //is it a radio button? treat it differently. if($(this).is("[type=radio]")) { if (typeof value != 'undefined') { //setter changeRadioButton(this, value); return $(this); } else { //getter return getRadioButton(this); } } else { //it wasn't a radio button - let call the default val function. if (typeof value != 'undefined') { return originalVal.call(this, value); } else { return originalVal.call(this); } } }; })(jQuery); 

Əlavə etmək üçün kodu hər yerdə yerləşdirin. Sonra zövq alın! Bu, sadəcə, heç bir şeyi pozmadan default val funksiyasını ləğv edir.

Bu jsFiddle-ə müraciət edə bilərsiniz və bunu necə görürsünüz.

Feeddle

15
17 апр. Mathias Lykkegaard Lorenzen tərəfindən verilmiş cavab 17 aprel 2013-04-17 12:58 '13 at 12:58 2013-04-17 12:58

Həmçinin istifadəçi bir şey seçdiyini yoxlayın.

 var radioanswer = 'none'; if ($('input[name=myRadio]:checked').val() != null) { radioanswer = $('input[name=myRadio]:checked').val(); } 
14
15 нояб. Cavab verilir. Mark 15 noyabr. 2011-11-15 19:04 '11 at 19:04 2011-11-15 19:04

Bir formada bir neçə radio düymələri varsa, onda

 var myRadio1 = $('input[name=radioButtonName1]'); var value1 = myRadio1.filter(':checked').val(); var myRadio2 = $('input[name=radioButtonName2]'); var value2 = myRadio2.filter(':checked').val(); 

Mənim üçün işləyir.

14
07 июня '12 в 7:45 2012-06-07 07:45 Cavab Ramesh'e 07 İyun 2012 günü saat 07: 45-da veriləcək 2012-06-07 07:45

Böyük işləyir

 $('input[type="radio"][class="className"]:checked').val() 

İşçi nümayişi

Selector :checked checkboxes , radio buttons və seçdiyiniz əşyalar üçün :checked . Yalnız seçilmiş maddələr üçün, :selected selektordan istifadə edin.

API üçün :checked Selector seçilmiş :checked Selector

12
14 февр. Cavab 14 fevral tarixində Manoj tərəfindən verilir . 2015-02-14 14:41 '15 at 2:41 pm 2015-02-14 14:41

Sınıfı istifadə edərək seçilmiş radiostansiyanın dəyərini almaq üçün:

 $('.class:checked').val() 
11
11 янв. Rodrigo Dias tərəfindən 11 yanvarda verdiyi cavabı 2013-01-11 21:05 '13 saat 09:05 'da 2013-01-11 21:05
  $(".Stat").click(function () { var rdbVal1 = $("input[name$=S]:checked").val(); } 
11
17 июля '12 в 15:01 2012-07-17 15:01 Cavab Swadesh Bhattacharya tərəfindən 17 İyul '12 'də saat 15:01' də verildi 2012-07-17 15:01

Bu sadə script istifadə edirəm.

 $('input[name="myRadio"]').on('change', function() { var radioValue = $('input[name="myRadio"]:checked').val(); alert(radioValue); }); 
9
19 окт. Cavab 19 oktyabrda Lafif Astahdziq tərəfindən verilir . 2014-10-19 20:34 '14 saat 20:34 2014-10-19 20:34

Bunu istifadə edin:

 value = $('input[name=button-name]:checked').val(); 
9
10 авг. cavab jeswin 10 avqust tərəfindən verilir . 2013-08-10 21:22 '13 at 21:22 2013-08-10 21:22

DEMO : https://jsfiddle.net/ipsjolly/xygr065w/

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr> <td>Sales Promotion</td> <td><input type="radio" name="q12_3" value="1">1</td> <td><input type="radio" name="q12_3" value="2">2</td> <td><input type="radio" name="q12_3" value="3">3</td> <td><input type="radio" name="q12_3" value="4">4</td> <td><input type="radio" name="q12_3" value="5">5</td> </tr> </table> <button id="submit">submit</button> 
7
01 авг. Cavab verilir Kodu Spy 01 aug. 2017-08-01 09:09 '17 də 9:09 2017-08-01 09:09

Yalnız 1 formada 1 növbədə bir sıra varsa, jQuery kodu bu qədər sadədir:

 $( "input:checked" ).val() 
6
12 авг. Randy Greencorn tərəfindən verilmiş cavab 12 Avqust 2013-08-12 05:13 '13 'da 5:13' də 2013-08-12 05:13

Bununla əlaqədar bir kitabxana buraxdım. Əslində bütün mümkün giriş dəyərlərini çəkir, ancaq keçid testi də daxildir. Bunu https://github.com/mazondo/formalizedata saytından yoxlaya bilərsiniz

Bu bir js cavab obyekti verəcəkdir, belə bir forma belədir:

 <form> <input type="radio" name"favorite-color" value="blue" checked> Blue <input type="radio" name="favorite-color" value="red"> Red </form> 

sizə təmin edəcək:

 $("form").formalizeData() { "favorite-color" : "blue" } 
5
23 янв. Cavab Ryan Jan 23 tərəfindən verilir 2014-01-23 09:40 '14 saat 09:40 2014-01-23 09:40

Bütün radio düyməsini JavaScript serialında almaq üçün aşağıdakı jQuery kodunu istifadə edin:

 var values = jQuery('input:checkbox:checked.group1').map(function () { return this.value; }).get(); 
4
03 сент. Cavab Nilesh 03 Sentyabr verilir. 2013-09-03 06:25 '13 saat 06:25 'da 2013-09-03 06:25

cəhd edin -

 var radioVal = $("#myform").find("input[type='radio']:checked").val(); console.log(radioVal); 
3
10 июля '17 в 15:21 2017-07-10 15:21 Cavab Gautam Rai tərəfindən 10 İyul '17 'də 15:21 2017-07-10 15:21' də verilir

Bunu əldə etmək üçün başqa bir yol:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="myForm"> <span><input type="radio" name="q12_3" value="1">1</span><br> <span><input type="radio" name="q12_3" value="2">2</span> </form> 
2
03 окт. Mehdi Bouzidi tərəfindən verilmiş cavab 03 oktyabr 2017-10-03 15:56 '17 də 15:56 2017-10-03 15:56
 $(function () { // Someone has clicked one of the radio buttons var myform= 'form.myform'; $(myform).click(function () { var radValue= ""; $(this).find('input[type=radio]:checked').each(function () { radValue= $(this).val(); }); }) }); 
1
05 мая '17 в 0:26 2017-05-05 00:26 Cavab, JoshYates1980 tərəfindən verilir 05 May '17 0:26 2017-05-05 00:26

Nə etmək lazımdır ki, JavaScript interfeysində mümkün qədər çox olan C # kodu sadələşdirmək idi. DNN-də işləyərkən, öz forması var, çünki mən bir fieldset konteyner istifadə edin. Buna görə bir forma əlavə edə bilmirəm.

3-dən hansı mətn sahəsinin istifadə olunduğunu yoxlamaq lazımdır, əgər varsa, hansı növ axtarış? Bir dəyərlə başlayır, Bir dəyər ehtiva edir, Tam uyğunluq dəyəri.

HTML:

 <fieldset id="fsPartNum" class="form-inline"> <div class="form-group"> <label for="txtPartNumber">Part Number:</label> <input type="text" id="txtPartNumber" class="input-margin-pn" /> </div> <div class="form-group"> <label for="radPNStartsWith">Starts With: </label> <input type="radio" id="radPNStartsWith" name="partNumber" checked value="StartsWith"/> </div> <div class="form-group"> <label for="radPNContains">Contains: </label> <input type="radio" id="radPNContains" name="partNumber" value="Contains" /> </div> <div class="form-group"> <label for="radPNExactMatch">Exact Match: </label> <input type="radio" id="radPNExactMatch" name="partNumber" value="ExactMatch" /> </div> 

Və mənim javascript:

  alert($('input[name=partNumber]:checked', '#fsPartNum').val()); if(txtPartNumber.val() !== ''){ message = 'Customer Part Number'; } else if(txtCommercialPartNumber.val() !== ''){ } else if(txtDescription.val() !== ''){ } 

Hər hansı bir etiketin bir identifikatorla istifadə edə biləcəyini söyləyə bilərsiniz. DNNers üçün bilmək yaxşıdır. Burada əsas məqsəd SQL Server-da ətraflı məlumat axtarmaq üçün lazım olan orta səviyyəyə keçməkdir.

Beləliklə, daha əvvəlki C # kodunun daha mürəkkəb surətini çıxarmaq lazım deyil. Ağır qaldırma işləri burada həyata keçirilir.

Mən bu barədə bir az işləməliyəm və işləməyimlə onunla birlikdə işlədim. Buna görə də, digər DNNers üçün, mən tapmaq ücün ümid edirəm.

1
04 сент. cavab 04 sentyabr 2006-cı il tarixində user1585204 tərəfindən verilmişdir . 2017-09-04 18:41 '17 də saat 18:41 'də 2017-09-04 18:41' də

Bu sualdan , müvafiq etiketiniz üçün click hadisəsində olduğunuzda seçilmiş input olmaq üçün alternativ bir yol gəldim. Bunun səbəbi yeni seçilmiş input label hadisə başlanana qədər yenilənməməsidir.

Tl; DR

 $('label').click(function() { var selected = $('#' + $(this).attr('for')).val(); ... }); 

 input[name="filter"] { display: none; } #reported label { background-color: #ccc; padding: 5px; margin: 5px; border-radius: 5px; cursor: pointer; } .query { padding: 5px; margin: 5px; } .query:before { content: "on " attr(data-method)": "; } [data-method="click event"] { color: red; } [data-method="change event"] { color: #cc0; } [data-method="click event with this"] { color: green; } 
1
15 янв. Patrick Roberts tərəfindən verilmiş cavabı 15 yanvar 2016-01-15 20:31 '16 saat 20:31 'də 2016-01-15 20:31

JQuery, bütün açarları formada və təsdiq dəyər almaq.

 $.each($("input[type='radio']").filter(":checked"), function () { console.log("Name:" + this.name); console.log("Value:" + $(this).val()); }); 
0
07 нояб. Iyyappan Amirthalingam tərəfindən verilmiş cavab 07 Noyabr. 2018-11-07 23:27 '18 'də saat 11:27 ' də 2018-11-07 23:27 'də
  • 1
  • 2

tags ilə bağlı digər suallar və ya bir sual