Intereting Posts

Создать поле выбора подкатегории onChange

Я создаю систему категорий, в которой пользователи могут выбирать категорию из БД, и после того, как они выбирают, она создает другой флажок выбора с подкатегорией этой категории.

Итак, мой вопрос: как я могу сделать это наилучшим образом?

BTW Я использую Laravel Framework, и первая категория проста

<select> @foreach(Category::all() as $k) <option value="{{ $k['id'] }}">{{ $k['name'] }}</option> @endforeach </select> 

Но что мне делать после выбора категории? Лучше ли делать вызов AJAX для отправки идентификатора выбранной категории и возвращает подкатегорию или что?

Мне нужен лучший и профессиональный способ сделать это.

В моей базе данных я

 ID, name, parent 

Используйте ajax , после выбора category отправьте запрос ajax и для этого вам нужно использовать событие change для вашего select , например:

 // Assumed category is id of the select $('#category').on('change', function(){ var id = $(this).val(); $.getJSON("subcategory/" + id , function(data){ // Assumed subcategory is id of another select var subcat = $('#subcategory').empty(); $.each(data, function(k, v){ var option = $('<option/>', {id:k, value}); subcat.append(option); }); }); }); 

На стороне сервера создайте такой маршрут (вы можете использовать контроллер и Eloquent):

 Route('subcategory/{id}', function($id){ // Get the data from database according to the id // Build an array as: id => value and then return return Response::json($subcat); }); 

Заполните раскрывающийся список при выборе опции из другого раскрывающегося списка Laravel

Это может вам помочь. В противном случае спросите, не понимаете ли вы

select_cat.php

 <script type="text/javascript" src="http://ajax.googleapis.com/ ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $(".category").change(function() { var id=$(this).val(); var dataString = 'id='+ id; $.ajax ({ type: "POST", url: "select_subcat.php", data: dataString, cache: false, success: function(html) { $(".subcat").html(html); } }); }); }); </script> 

Категория:

 <select name="category" class="category"> <option selected="selected">--Select Category--</option> <?php include('databasefile'); mysql_connect($server,$username,$password)or die(mysql_error()); mysql_select_db($database)or die(mysql_error()); $sql=mysql_query("select cat_name from category order by cat_name"); while($row=mysql_fetch_array($sql)) { $cname=$row['cat_name']; echo '<option value="'.$cname.'">'.$cname.'</option>'; } ?> </select> <br/><br/> SubCategory : <select name="subcat" class="subcat"> <option selected="selected">--Select SubCat--</option> </select> в <select name="category" class="category"> <option selected="selected">--Select Category--</option> <?php include('databasefile'); mysql_connect($server,$username,$password)or die(mysql_error()); mysql_select_db($database)or die(mysql_error()); $sql=mysql_query("select cat_name from category order by cat_name"); while($row=mysql_fetch_array($sql)) { $cname=$row['cat_name']; echo '<option value="'.$cname.'">'.$cname.'</option>'; } ?> </select> <br/><br/> SubCategory : <select name="subcat" class="subcat"> <option selected="selected">--Select SubCat--</option> </select> в <select name="category" class="category"> <option selected="selected">--Select Category--</option> <?php include('databasefile'); mysql_connect($server,$username,$password)or die(mysql_error()); mysql_select_db($database)or die(mysql_error()); $sql=mysql_query("select cat_name from category order by cat_name"); while($row=mysql_fetch_array($sql)) { $cname=$row['cat_name']; echo '<option value="'.$cname.'">'.$cname.'</option>'; } ?> </select> <br/><br/> SubCategory : <select name="subcat" class="subcat"> <option selected="selected">--Select SubCat--</option> </select> 

2.select_subcat.php

 <?php include('databasefile); mysql_connect($server,$username,$password)or die(mysql_error()); mysql_select_db($database)or die(mysql_error()); if($_POST['id']) { $id=$_POST['id']; $sql=mysql_query("select s_name from subcat_l1 where cat_name='$id'"); while($row=mysql_fetch_array($sql)) { $sname=$row['s_name']; echo '<option value="'.$sname.'">'.$sname.'</option>'; } } ?> SubCategory : <select name="subcat" class="subcat"> <option selected="selected">--Select SubCat--</option> </select> в <?php include('databasefile); mysql_connect($server,$username,$password)or die(mysql_error()); mysql_select_db($database)or die(mysql_error()); if($_POST['id']) { $id=$_POST['id']; $sql=mysql_query("select s_name from subcat_l1 where cat_name='$id'"); while($row=mysql_fetch_array($sql)) { $sname=$row['s_name']; echo '<option value="'.$sname.'">'.$sname.'</option>'; } } ?> SubCategory : <select name="subcat" class="subcat"> <option selected="selected">--Select SubCat--</option> </select> в <?php include('databasefile); mysql_connect($server,$username,$password)or die(mysql_error()); mysql_select_db($database)or die(mysql_error()); if($_POST['id']) { $id=$_POST['id']; $sql=mysql_query("select s_name from subcat_l1 where cat_name='$id'"); while($row=mysql_fetch_array($sql)) { $sname=$row['s_name']; echo '<option value="'.$sname.'">'.$sname.'</option>'; } } ?> SubCategory : <select name="subcat" class="subcat"> <option selected="selected">--Select SubCat--</option> </select>