Hallo,

Ik heb de volgende code:



 <div class="tab-pane" id="type">
                                            <h4 class="info-text">
                                                What type of cruise would you want?
                                            </h4>

                                            <div class="row">
                                                <div class="col-sm-10 col-sm-offset-1">
                                                    <div class="col-sm-4">
                                                        <div class="choice" data-toggle="wizard-radio" rel="tooltip" title="The price of this cruise is €99 From 12pm to 4pm">
                                                            <input type="radio" id="ctype" name="ctype" value="lunch">

                                                            <div class="icon">
                                                                <i class="material-icons">
                                                                    directions_boat
                                                                </i>
                                                            </div>

                                                            <h6>
                                                                Lunch
                                                            </h6>
                                                        </div>
                                                    </div>

                                                    <div class="col-sm-4">
                                                        <div class="choice" data-toggle="wizard-radio" rel="tooltip" title="The price of this cruise is €149 From 4pm to 9pm">
                                                            <input type="radio" id="ctype" name="ctype" value="dinner">

                                                            <div class="icon">
                                                                <i class="material-icons">
                                                                    directions_boat
                                                                </i>
                                                            </div>

                                                            <h6>
                                                                Dinner
                                                            </h6>
                                                        </div>
                                                    </div>

                                                <div class="col-sm-4">
                                                    <div class="choice" data-toggle="wizard-radio" rel="tooltip" title="The price of this cruise is €239 From 12pm to 9pm">
                                                        <input type="radio" id="ctype" name="ctype" value="day">

                                                        <div class="icon">
                                                            <i class="material-icons">
                                                                directions_boat
                                                            </i>
                                                        </div>
                                                            
                                                        <h6>
                                                            Day
                                                        </h6>
                                                    </div>
                                                </div>
                                            </div>
                                            
                                            <div class="col-sm-12">
                                                <div class="col-sm-6">
                                                    <div class="input-group">
                                                        <span class="input-group-addon">
                                                            <i class="material-icons">
                                                                people
                                                            </i>
                                                        </span>

                                                        <div class="form-group label-floating">
                                                            <label class="control-label">
                                                                Amount of adults
                                                            </label>

                                                            <input name="amountAdults" type="number" class="form-control">
                                                        </div>
                                                    </div>
                                                </div>

                                                <div class="col-sm-6">
                                                    <div class="input-group">
                                                        <span class="input-group-addon">
                                                            <i class="material-icons">
                                                                group_add
                                                            </i>
                                                        </span>

                                                        <div class="form-group label-floating">
                                                            <label class="control-label">
                                                                Amount of Childern
                                                            </label>

                                                            <input name="amountChildern" type="number" class="form-control">
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                            
                                    <div class="tab-pane" id="details">
                                        <div class="row">
                                            <h4 class="info-text"> Pick a date you would like to go</h4>
                                            
                                            <div class="col-sm-12">
                                                <div style="height: 500px;" id="datepicker"></div>
                                            </div>
                                        </div>
                                    </div>


<input type='button' class='btn btn-next btn-fill btn-info btn-wd' onclick="getValues()" name='next' value='Next' />

            function getValues()
            {
                alert($( "input[type=radio][name=ctype]:checked" ).val());
            }


Ik zie nergens een fout staan in de code, waardoor het script met alert niet werkt. Als resultaat geeft hij terug: unidentified, maar de value zou dinner, lunch of day moeten zijn. Ik heb in de broncode gekeken, als ik daar één van de drie aanklik staat er wel gewoon checked="checked". Ik ben er al een uur mee bezig om te achterhalen waar de fout is, maar kom er simpel niet uit. Alvast bedankt voor de hulp
Zo werkt het bij mij wel :

<script>
function getValues()
{
	alert($( "input[type=radio][name=ctype]:checked" ).val());
}
</script>
Is er wel een waarde geselecteerd? Initieel in ieder geval niet zo te zien.

Waarom trouwens die type=radio er nog bij. Enkel name=ctype is toch voldoende (dat zijn enkel maar radio's)?

Misschien quootjes:

alert($( "input[name='ctype']:checked" ).val());
Dit zou moeten werken? Heb je ook simpelweg [name=ctype] geprobeerd, eventueel met quotes?
Wat in ieder geval niet klopt is het hergebruik van id="ctype".
Weet je zeker dat je JavaScript nergens anders breekt? En waar zijn je form tags?

Bijna letterlijk dezelfde vraag op SO
Thomas van den Heuvel op 09/03/2019 13:40:46

Dit zou moeten werken? Heb je ook simpelweg [name=ctype] geprobeerd, eventueel met quotes?
Wat in ieder geval niet klopt is het hergebruik van id="ctype".
Weet je zeker dat je JavaScript nergens anders breekt? En waar zijn je form tags?

Bijna letterlijk dezelfde vraag op SO

De form tags zitten helemaal van boven, echter werken de andere oplossingen ook niet die zijn genoemd. ;\


<?php
    session_start();
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        
        <title>
            Umoja - Bookings        
        </title>
        
        <!-- Import all css files -->
        <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:400,700|Material+Icons" />
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" />
        <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" id="bootstrap-css">
        <link rel="stylesheet" href="assets/css/index.css" />
        <link rel="stylesheet" href="assets/dist/datepickk.min.css" />
        
        <!-- Import al javascript files -->
        <script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
        <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
        <script type="text/javascript" src="assets/js/index.js"></script>
        <script type="text/javascript" src="assets/dist/datepickk.min.js"></script>
    </head>
    
    <body>
        <div>
            <!-- Logo and name in left top (DISABLED) -->
            <!--
            <a href="#">
                <div class="logo-container">
                    <div class="logo">
                        <img src="">
                    </div>
                    
                    <div class="brand">
                        Something
                    </div>
                </div>
            </a>
            -->

            <!-- Info bar right bottom (DISABLED) -->
            <!--
            <a href="#" class="made-with-mk">
                <div class="brand">
                    Something
                </div>
                
                <div class="made-with">
                    Something
                </div>
            </a>
            -->

            <div class="container">
                <div class="row">
                    <div class="col-sm-8 col-sm-offset-2">
                        <div class="wizard-container">
                            <div class="card wizard-card" data-color="blue" id="wizard">
                                <form method="POST">
                                <div class="wizard-header">
                                    <h3 class="wizard-title">
                                        Book a cruise
                                    </h3>
                                    
                                    <h5>
                                        This information will let us know what kind of cruise you want
                                    </h5>
                                </div>
                                
                                <!-- Menu with content -->
                                <div class="wizard-navigation">
                                       <ul>
                                        <li>
                                            <a href="#type" data-toggle="tab">
                                                Cruise Type
                                            </a>
                                        </li>
                                        
                                        <li>
                                            <a href="#details" data-toggle="tab">                                                    
                                                Details
                                            </a>
                                        </li>
                                            
                                        <li>
                                            <a href="#extradetails" data-toggle="tab">
                                                Extra Details
                                            </a>
                                        </li>
                                    </ul>
                                </div>
                                
                                
                                     <div class="tab-content">
                                        <div class="tab-pane" id="type">
                                            <h4 class="info-text">
                                                What type of cruise would you want?
                                            </h4>

                                            <div class="row">
                                                <div class="col-sm-10 col-sm-offset-1">
                                                    <div class="col-sm-4">
                                                        <div class="choice" data-toggle="wizard-radio" rel="tooltip" title="The price of this cruise is €99 From 12pm to 4pm">
                                                            <input type="radio" id="ctype" name="ctype" value="lunch">

                                                            <div class="icon">
                                                                <i class="material-icons">
                                                                    directions_boat
                                                                </i>
                                                            </div>

                                                            <h6>
                                                                Lunch
                                                            </h6>
                                                        </div>
                                                    </div>

                                                    <div class="col-sm-4">
                                                        <div class="choice" data-toggle="wizard-radio" rel="tooltip" title="The price of this cruise is €149 From 4pm to 9pm">
                                                            <input type="radio" id="ctype" name="ctype" value="dinner">

                                                            <div class="icon">
                                                                <i class="material-icons">
                                                                    directions_boat
                                                                </i>
                                                            </div>

                                                            <h6>
                                                                Dinner
                                                            </h6>
                                                        </div>
                                                    </div>

                                                <div class="col-sm-4">
                                                    <div class="choice" data-toggle="wizard-radio" rel="tooltip" title="The price of this cruise is €239 From 12pm to 9pm">
                                                        <input type="radio" id="ctype" name="ctype" value="day">

                                                        <div class="icon">
                                                            <i class="material-icons">
                                                                directions_boat
                                                            </i>
                                                        </div>
                                                            
                                                        <h6>
                                                            Day
                                                        </h6>
                                                    </div>
                                                </div>
                                            </div>
                                            
                                            <div class="col-sm-12">
                                                <div class="col-sm-6">
                                                    <div class="input-group">
                                                        <span class="input-group-addon">
                                                            <i class="material-icons">
                                                                people
                                                            </i>
                                                        </span>

                                                        <div class="form-group label-floating">
                                                            <label class="control-label">
                                                                Amount of adults
                                                            </label>

                                                            <input name="amountAdults" type="number" class="form-control">
                                                        </div>
                                                    </div>
                                                </div>

                                                <div class="col-sm-6">
                                                    <div class="input-group">
                                                        <span class="input-group-addon">
                                                            <i class="material-icons">
                                                                group_add
                                                            </i>
                                                        </span>

                                                        <div class="form-group label-floating">
                                                            <label class="control-label">
                                                                Amount of Childern
                                                            </label>

                                                            <input name="amountChildern" type="number" class="form-control">
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                            
                                    <div class="tab-pane" id="details">
                                        <div class="row">
                                            <h4 class="info-text"> Pick a date you would like to go</h4>
                                            
                                            <div class="col-sm-12">
                                                <div style="height: 500px;" id="datepicker"></div>
                                            </div>
                                        </div>
                                    </div>
                                         
                                    <div class="tab-pane" id="extradetails">
                                        <div class="row">
                                            <div class="col-sm-12">
                                                <h4 class="info-text">
                                                    Let's go on with your details
                                                </h4>
                                            </div>
                                            
                                            <div class="col-sm-6">
                                                <!-- Input ... -->
                                                <div class="input-group">
                                                    <span class="input-group-addon">
                                                        <i class="material-icons">
                                                            person
                                                        </i>
                                                    </span>

                                                    <div class="form-group label-floating">
                                                        <label class="control-label">
                                                            Your name
                                                        </label>

                                                        <input name="name" type="text" class="form-control">
                                                    </div>
                                                </div>
                                                
                                                <div class="input-group">
                                                    <span class="input-group-addon">
                                                        <i class="material-icons">
                                                            email
                                                        </i>
                                                    </span>

                                                    <div class="form-group label-floating">
                                                        <label class="control-label">
                                                            Your Email
                                                        </label>

                                                        <input name="email" type="email" class="form-control">
                                                    </div>
                                                </div>

                                                <div style="margin-left: 20px;" class="input-group">
                                                    <label class="control-label" style="font-size: 11pt;"><b>Sex</b></label>
                                                    
                                                    <div style="margin-top: -13px;" class="form-group label-floating">
                                                        <div class="btn-group btn-group-toggle" data-toggle="buttons">
                                                            <label class="btn btn-secondary">
                                                                <input type="radio" name="sex" autocomplete="off" value="male" required="" aria-required="true"> Male
                                                                
                                                                <div class="ripple-container"></div>
                                                            </label>
                                                            
                                                            <label class="btn btn-secondary">
                                                                
                                                            <input type="radio" name="sex" autocomplete="off" value="female">
                                                                 Female
                                                            </label>
                                                        </div>
                                                    </div>
												</div>
                                            </div>
                                                
                                            <div class="col-sm-6">
                                                <div class="input-group">
                                                    <span class="input-group-addon">
                                                        <i class="material-icons">
                                                            phone
                                                        </i>
                                                    </span>

                                                    <div class="form-group label-floating">
                                                        <label class="control-label">
                                                            Your primary phonenumber
                                                        </label>

                                                        <input name="primphone" type="text" class="form-control">
                                                    </div>
                                                </div>
                                                
                                                <div class="input-group">
                                                    <span class="input-group-addon">
                                                        <i class="material-icons">
                                                            phone
                                                        </i>
                                                    </span>

                                                    <div class="form-group label-floating">
                                                        <label class="control-label">
                                                            Your secundary phonenumber
                                                        </label>

                                                        <input name="secphone" type="text" class="form-control">
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                </div>
                                            
                                    <div class="wizard-footer">
                                        <div class="pull-right">
                                            <input type='button' class='btn btn-next btn-fill btn-info btn-wd' onclick="getValues()" name='next' value='Next' />
                                            <input type='button' class='btn btn-finish btn-fill btn-info btn-wd' name='finish' value='Finish' />
                                        </div>
                                                
                                        <div class="pull-left">
                                            <input type='button' class='btn btn-previous btn-fill btn-default btn-wd' name='previous' value='Previous' />

                                            <div class="footer-checkbox">
                                                <div class="col-sm-12">
                                                    <div class="checkbox">
                                                        <label>
                                                            <input type="checkbox" name="toc">
                                                        </label>
                                                        
                                                        I accept the <b><a style="color: black;" href="#">Terms of Condition</a></b>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                                
                                        <div class="clearfix">
                                        </div>
                                    </div>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="footer">
                <div class="container text-center">
                     Made with <i class="fa fa-heart heart"></i> by <a href="http://www.creative-tim.com" target="_blank">Creative Tim</a>.
                </div>
             </div>
        </div>
    </body>
    
    <footer>
        <script>
            var datepicker = new Datepickk({
                container: document.querySelector('#datepicker'),
                inline: true,
                range: false,
            });
            datepicker.minDate = new Date();
            datepicker.maxSelections = 1;
            datepicker.weekStart = 1;
            
            
            function getValues()
{
    alert($( "input[name='ctype']:checked" ).val());
}
        </script>
    </footer>
</html>



[size=xsmall]Toevoeging op 09/03/2019 14:05:44:[/size]

EDIT:
Als ik in de code direct toevoeg dat de input checked is, werkt het systeem wel, als ik het type dan niet meer aanpas. Het vreemde vind ik dus dat als ik het type verander dat ik de alert unidentified krijg, terwijl er in de broncode wel checked="checked" zie staan
[offtopic]
Amount of Childern -> Number of childern
[/offtopic]
Ik neem aan dat niemand hier raad mee weet? Ik zal wel opnieuw beginnen :/
In ieder geval, bedankt voor de hulp
Er is in principe niets mis? Behalve die id's dan.

Dit werkt prima (input ipv button werkt ook):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jquery checked test</title>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
</head>

<body>
<form>
<input type="radio" id="ctype_lunch" name="ctype" value="lunch"> <label for="ctype_lunch">lunch</label><br>
<input type="radio" id="ctype_dinner" name="ctype" value="dinner"> <label for="ctype_dinner">dinner</label><br>
<input type="radio" id="ctype_day" name="ctype" value="day"> <label for="ctype_day">day</label><br>
<button type="button" onclick="getValues()">click me</button>
</form>

<script>
function getValues() {
    $radio = $("input[name='ctype']:checked");
    if ($radio.length > 0) {
        alert($radio.val());
    } else {
        alert('nothing selected!');
    }
}
</script>
</body>
</html>

Waarschijnlijk breekt je JavaScript ergens anders?


Oké, waar ik nu achter ben gekomen is het volgende:
Als ik de input BUITEN de div met class choice zet, werkt het wel, maar binnen de div met de class choice werkt het niet. Breekt mijn js dan? Enig idee hoe ik dit moet oplossen?

[size=xsmall]Toevoeging op 10/03/2019 10:11:50:[/size]

FIX:
Ik heb in de div (waar de class choice in zit) een onclick toegevoegd met de functie: changeType(CRUISETYPE), vervolgens heb ik een hidden input gemaakt (type=text) met de name cruisetype, elke keer als iemand op een één van de drie radio buttons drukt, verandert de hidden input value naar de soort cruise, die bij changeType is ingevoerd. Ik vind het vreemd dat het niet werkt als de input in de class choice zit, maar het werkt nu in ieder geval goed genoeg.

Reageren