2011-03-11 26 views
7

Şu andaki kodları yalnızca kontrol edilen onay kutularının değerlerini almak için kullanıyorum, ancak bunun daha kolay bir yolu olduğundan eminim.JQuery, yalnızca kontrol edilmişse onay kutusunu işaretleyin

if ($('#OPTtags-adventure-diving').is(':checked')) { 
     var OPTtags-adventure-diving = $('#OPTtags-adventure-diving').val() 
    } else var OPTtags-adventure-diving = ''; 

    if ($('#OPTtags-master-scuba-diver').is(':checked')) { 
     var OPTtags-master-scuba-diver = $('#OPTtags-master-scuba-diver').val() 
    } else var OPTtags-master-scuba-diver = ''; 

var mı? Harikulade

,

+2

Minor point: JS'de hipeneleri olan değişken isimleri yasa dışıdır. Sorun şu ki, OPTtags-macera-dalışı 'OPTtags' eksi 'macera' eksi 'dalışı' olarak yorumlanabilir. CamelCase veya alt çizgi kullanmak daha iyidir. – johnhunter

+0

@johnhunter Alınan nokta, –

cevap

8

Bunu Kontrol etmedim ama nasıl

var OPTtags-master-scuba-diver = $('#OPTtags-adventure-diving:checked').val()

Sonra değişken undefined veya değeri olacaktır.

+2

Onay işareti kontrol edilmediğinde, bu durumun "undefined" döndüreceği gerçeği (Chris tarafından belirtilmiş olsa da) gözden kaçırmayın. –

1

Bir başka yol:

var $chkbox = $('#OPTtags-adventure-diving'), 
    OPTtags-adventure-diving = $chkbox.is(':checked') ? $chkbox.val() : ''; 
0

bu deneyin

var OPTtags-master-scuba-diver = $('#OPTtags-adventure-diving:checked').val() || '': 
-1
$('#OPTtags-adventure-diving').prop('checked') ? $('#OPTtags-adventure-diving').val() : '' 
İlgili konular