I have a drop down menu list which displays all the current languages avaible.
Question: How can I make it so when Ever I click on a link in my language foreach loop. That it will trigger to submit the form below it.
<ul class="dropdown-menu" role="menu">
<?php foreach($languages as $language) {?>
<li><a id="language-form"><?php echo $language['name'];?></a></li>
<form action="<?php echo base_url('admin/common/header/set_lang');?>" id="lang" method="post">
<input type="hidden" name="lang" value="<?php echo $language['code'];?>" />
</form>
<?php }?>
</ul>
You can use AJAX to simplify this code instead of generating so many forms.
See the below code
<ul class="dropdown-menu" role="menu">
<?php foreach($languages as $language) {?>
<li class="lang-item">
<a value="<?php echo $language['code'];?>">
<?php echo $language['name'];?>
</a>
</li>
<?php }?>
</ul>
<script>
$(document).on('click', '.lang-item', function(){
var value = $(this).find('a').attr('value');
$.ajax({
method: 'POST',
url: "<?php echo base_url('admin/common/header/set_lang');?>",
contentType: false,
data: "lang=" + value
}).then(function(){
console.log('language successfully update');
});
});
</script>
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments