Jump to content
php.lv forumi
  • 0

javascrpt atļaut tikai vienu checkbox


Question

Posted

ir 2 checkboxi delivery un delivery2. Kā ar javascript panākt, lai var ieķeksēt tikai vienu? respektīvi, ja ieķeksē vienu, tad otrs izķeksējas un otrādi? Zinu, ka te labāk būtu radio buttons, bet tāda nu ir klienta vēlme ar checkbox.

8 answers to this question

Recommended Posts

  • 0
Posted

ir 2 checkboxi delivery un delivery2. Kā ar javascript panākt, lai var ieķeksēt tikai vienu? respektīvi, ja ieķeksē vienu, tad otrs izķeksējas un otrādi? Zinu, ka te labāk būtu radio buttons, bet tāda nu ir klienta vēlme ar checkbox.

ar JS .. onchange...

uzraksti nelielu f-ju kas parbauda kurshi ir iekjekseets, un automaataa otru(vai preejos) izkjeksee araa..

principaa f-ja buus uz kadam 3-4 rindinjaam

P.S. tev tik daudz postu bijushi ka shadu elementaru JS risinajumu jau vareji izdomaat

  • 0
Posted

javascript nav mana stiprā puse.

function checkbox()
{
    if (eval("document.myform.delivery.checked") == true) {
    document.myform.delivery2.checked = false;
    document.myform.delivery.checked = true;
    }
    if (eval("document.myform.delivery2.checked") == true) {
    document.myform.delivery2.checked = true;
    document.myform.delivery.checked = false;
    }

}

 

spiežot uz delivery, kad ir ieķeksēts delivery2 viss strādā, bet, kad ir ieķeksēts delivery, tad spiežot uz delivery2 nekas nenotiek. Kur problēma?

  • 0
Posted (edited)

a varbūt var lietot Radio button?

 

edit: sorr, neizlasīju, kāpēc nelieto radio

Edited by mickys
  • 0
Posted

Paskaidro lūdzu klientam, ka ja cilvēks redz čekboksu, tad viņš arī sagaidīs tam atbilstošu čekboksa uzvedību (tas ir - ļaus izvēlēties vairākus), bet ja redz radio - tad uzreiz ir skaidrs, ka šeit var izvēlēties tikai vienu. Taisīt speciāli ačgārni ir tīrā cilvēku čakarēšana (bad usability), un ja cilvēkam būs izslēgts JS, būs bēdīgi...

  • 0
Posted

Ideja #2: Lai tie ir "radio", bet uztaisi, lai izskatās kā "check-box'i". Ar CSS (un attēliem, laikam).

  • 0
Posted (edited)
function checkbox(){ 
if (this.checked) {
	document.myform[this.name === 'delivery' ? 'delivery2' : 'delivery'].checked = false;
}
}
window.onload = function(){
document.myform.delivery.onchange = document.myform.delivery2.onchange = checkbox;
}

Edited by indoom

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...