0

Well... I don't know what's going on. I have this code which works normally but the checkbox doesn't append anything or doesn't notify the script which really puzzles me. The php code creating the checkbox is:

echo '<div id ="school_content"><h3>School</h3>';
    while($row = mysqli_fetch_array($result))
   {
    echo '<p><input type="checkbox" onClick="ILike()" />'.$row["School"].'</p>';
   }
   echo '</div>';

Here is the plain HTML File:

<div id="container" class="row">
        <div id="School" class="col"></div>
     <div id="Department" class="col"></div>
        <div id="Level" class="col"></div>
        <div id="Source" class="col"></div>
        <div id="Coding" class="col"></div>
    </div>
    <input type='submit' value='Show Result' id='result' onClick=""/>
    <div id="dump_here">The dumping area:</div>

And here is the javascript code appending. I don't know why this is not working:

 $('#dump_here').append("test");

        function ILike(){
                $('#dump_here').append("test");
        }

It feels really weird. The first line is working fine. By the way... The function is enclosed inside a document ready but putting it outside document ready doesn't work.

jQuery imports properly as I am using AJAX there too.

4 Answers 4

4

onClick("ILike()") isn't the right syntax. It should be:

onClick="ILike()"

Sign up to request clarification or add additional context in comments.

2 Comments

@Gempio then you're missing something we're not seeing in the code. It works fine jsfiddle.net/8k5fE
What I missed out is that the code needs to be in fact outside document ready before PHP runs. Works just fine now and I'm really happy :D Thanks for correcting my onclick :)
1

change it like this

echo '<div id ="school_content"><h3>School</h3>';
    while($row = mysqli_fetch_array($result))
   {
    echo '<p><input type="checkbox" onclick="ILike()" />'.$row["School"].'</p>';
   }
   echo '</div>';

Comments

1

this is incorrect onClick("ILike()")

The right way is onClick onClick="ILike();"

Comments

0

your syntax in the input element is incorrect. The correct is:

<input type="checkbox" onclick="ILike()" />

You can use your browser console to find issues like that one, which can greatly help you :D Also, I recommend you to put javascript code in the head of your HTML document:

<head>
    <script type="text/javascript">
        $().ready(function(){
            $(".checkboxILike").click(function(){
                ILike();
            });
        });
    </script>
</head>

Of course, you will need put a class named checkboxILike in every checkbox that will call the function

1 Comment

You could also use .click(ILike); to avoid wrapping a function in a function.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.