Home > other >  How to pass the value from input checkbox to URL Parameters in jquery
How to pass the value from input checkbox to URL Parameters in jquery

Time:11-06

I am trying to update the url Parameters based on the input selected of the form.

<form method="get" action="current.php" id="header-form">   
  <input type="hidden" name="location" value="location">
  <input type="checkbox" name="type[]" class="type" value="opt1"> option1
  <input type="checkbox" name="type[]" class="type" value="opt2"> option2
  <input type="checkbox" name="type2[]" class="type1" value="new1"> new1
  <input type="checkbox" name="type2[]" class="type1" value="new2"> new2
</form>

Jquery

By selecting the checkbox i want to append the values to the URL

My Jquery

<script type="text/javascript">
  $(document).ready(function() {
    $(".type").change(function () {
      $("#header-form").trigger("submit");
    });
    $(".type1").change(function() {
      $("#header-form").trigger("submit");
    });
  });
</script>


If i select option1 it works fine and if i try to select the option 2, it removes the option 1 from the URL.

If i select the option 1 & option 2

URL Should be -> http://localhost.current.php?type=option1&option2

And if i select all the values option1 & option 2 and new 1 & new 2

URL Should be -> http://localhost.current.php?type=option1&option2?type1=new1&new2

And if i select the values option1 & new 1 & new 2

URL Should be -> http://localhost.current.php?type=option1?type1=new1&new2

CodePudding user response:

You must keep the previous submit data.
do this with PHP:

<form method="get" action="current.php" id="header-form">

    <input type="hidden" name="location" value="location">
    <input type="checkbox" name="type[]" <?php if(isset($_GET['type']) && in_array('opt1', $_GET['type'])): ?>checked<?php endif; ?> class="type" value="opt1"> option1
    <input type="checkbox" name="type[]" <?php if(isset($_GET['type']) && in_array('opt2', $_GET['type'])): ?>checked<?php endif; ?> class="type" value="opt2"> option2

    <input type="checkbox" name="type2[]" <?php if(isset($_GET['type2']) && in_array('new1', $_GET['type2'])): ?>checked<?php endif; ?> class="type1" value="new1"> new1
    <input type="checkbox" name="type2[]" <?php if(isset($_GET['type2']) && in_array('new2', $_GET['type2'])): ?>checked<?php endif; ?> class="type1" value="new2"> new2

</form>
  • Related