Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
1

Фильтрация в выпадающем списке

22.04.2019, 09:02. Просмотров 912. Ответов 21

подскажите пожалуйста как сделать что что бы при выборе данных из выпадающего списка из базы подтягивались другие данные относящиеся к моему выбору из списка
models.py
Python
1
2
3
4
5
6
class Wardrobes(models.Model):
    title = models.CharField(max_length=120)# наименование материала
    quantity_or_meter = models.DecimalField(max_digits=9, decimal_places=2)
    price = models.DecimalField(max_digits=9, decimal_places=2)
    def __str__(self):
        return self.title
так создаю таблицу
HTML5
1
2
3
4
5
6
7
8
9
10
11
<table id="node1" border="2" class="table-bordered table-dark">
      <tr>
<input id="addRow1" type="image" style="width:5%;height:5%" src='{% static "image/knopka.png" %}'class="btn btn-success"><a>iшкафы</a>
      </tr>
</table>
<script >
document.getElementById("addRow").onclick = function() {
    var row = document.createElement("tr");
    row.innerHTML ='<td><select  name="hero">{% for wardrobes in wardrobes %}<option>{{wardrobes.title}}</option>{%endfor%}</select></td><td><div contenteditable >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td>';
    document.getElementById("node").appendChild(row);
}
0
Миниатюры
Фильтрация в выпадающем списке   Фильтрация в выпадающем списке  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2019, 09:02
Ответы с готовыми решениями:

Фильтрация в выпадающем списке
Есть простой выпадающий список. Данные берутся запросом. Хотелось бы вводить какие-то значения - и...

Событие в выпадающем списке
Необходимо чтобы при выборе значения из выполнялось функция List('параметр') Делаю так:...

Подсказка в выпадающем списке
Добрый вечер! Столкнулся с такой проблемой. На Форме имеется combobox, в котором находится...

Не отображается в выпадающем списке
Здравствуйте, начал просматривать видеоурок посвященный АДО НЭТ. Сразу столкнулся с проблемой....

21
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
22.04.2019, 09:31 2
Подгрузка полей в форму по выбору значения из выпадающего списка
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
22.04.2019, 10:35  [ТС] 3
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
Подгрузка полей в форму по выбору значения из выпадающего списка
я так понял он данные из js берет а не из базы или я не прав?
0
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
22.04.2019, 10:43 4
Цитата Сообщение от Lastik228 Посмотреть сообщение
я так понял он данные из js берет а не из базы или я не прав?
Данные не могут быть в js, это язык программирования...
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
22.04.2019, 11:02  [ТС] 5
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
Данные не могут быть в js, это язык программирования...
сори неправильно выразился. что означает change?

Javascript
1
2
3
$('#elem').on('change', function() {
  $('#id_name').val(this.value)
})
0
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
22.04.2019, 12:13 6
Lastik228, изменение в этом элементе
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
22.04.2019, 14:23  [ТС] 7
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
изменение в этом элементе
подскажи что не так? как правильно его добавить?
подключаю скачанный jquery
HTML5
1
2
3
<link rel="stylesheet" href='{% static "js/jquery-3.0.0.min.js" %}'>
<link rel="stylesheet" href='{% static "js/jquery-migrate-1.4.1.min.js" %}'>
<link rel="stylesheet" href='{% static "js/bootstrap.min.js" %}'>
форма из js с добавление таблицы и данных
Javascript
1
2
3
4
5
document.getElementById("addRow1").onclick = function() {
    var row = document.createElement("tr");
    row.innerHTML ='<td><select id="elem"name="hero1">{% for equipments in equipments %}<option>{{equipments.title}}</option>{%endfor%}</select></td>{% for equipments in equipments %}<td for="Price"><div contenteditable >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td>{%endfor%}';
    document.getElementById("node1").appendChild(row);
}
Javascript
1
2
3
$('#elem').on('change', function() {
  $('#Price').val(this.value)
})
0
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
22.04.2019, 15:35 8
Lastik228, покажите отрендеренный хтмл шаблон страницы.
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.04.2019, 07:41  [ТС] 9
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
покажите отрендеренный хтмл шаблон страницы.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<html><head>
 
     <link rel="stylesheet" href="/static/css/bootstrap.css">
<link rel="stylesheet" href="/static/css/menu.css">
<link rel="stylesheet" href="/static/js/jquery-3.0.0.min.js">
<link rel="stylesheet" href="/static/js/jquery-migrate-1.4.1.min.js">
<link rel="stylesheet" href="/static/js/bootstrap.min.js">
 
    <title></title>
</head>
 
      <body><h1 style="text-align: center;">Калькулятор стандарта СКС</h1>
 
<div id="tableWrap">
  <table class="table-bordered table-dark">
    <tbody><tr>
      <td>количество рабочих мест</td>
      <th><div contenteditable="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></th>
    </tr>
    <tr><td>средняя зарплата</td>
      <td><div contenteditable=""></div></td>
    </tr>
    <tr><td>дл клк</td>
      <td><div contenteditable=""></div></td>
    </tr>
    <tr><td>%чего то</td>
      <td><div contenteditable=""></div></td>
    </tr>
  </tbody></table>
</div>
<h1></h1>
 <input id="addRow" type="image" style="width:5%;height:5%" src="/static/image/knopka.png" class="btn btn-success"><a>Шкафы</a><table id="node" border="1" class="table-bordered table-dark">
      <tbody><tr>
 
</tr>
</tbody><tr><td><select id="elem" name="hero"><option>1</option><option>ыувапнрг</option><option>Средняя длина кабеля (от шкафа до рабочего места), м</option></select></td><tdfor="price"><div contenteditable="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></tdfor="price"></tr></table>
<h1></h1>
<input id="addRow1" type="image" style="width:5%;height:5%" src="/static/image/knopka.png" class="btn btn-success"><a>оборудование</a><table id="node1" border="2" class="table-bordered table-dark">
      <tbody><tr>
 
      </tr>
</tbody><tr><td><select id="elem" name="hero1"><option>re</option><option>erdghj</option></select></td><td for="Price"><div contenteditable="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td><td for="Price"><div contenteditable="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td></tr></table>
 <h1></h1><table class="table-bordered table-dark">
  <tbody>
    
    <tr>
      <td scope="row">наценка</td>
      <td><div contenteditable="">&nbsp;&nbsp;1,3&nbsp;&nbsp;</div></td>
    </tr>
  </tbody>
  </table>
  <h1></h1>
<input type="button" class="btn btn-success" value="Расчет" onclick="addition();"><br>
 <h1></h1>
 
  <table class="table-bordered table-dark">
    <tbody><tr>
      <th>эконом</th>
      <th><div contenteditable="">&nbsp;&nbsp;&nbsp;&nbsp;</div></th>
    </tr>
    <tr><td>оптима</td>
      <td><div contenteditable=""><div id="result"></div></div></td>
    </tr>
    <tr><td>премиум</td>
      <td><div contenteditable=""></div></td>
    </tr>
    <tr><td>лофт</td>
      <td><div contenteditable=""></div></td>
    </tr>
  </tbody></table>
 
  <h1></h1>
  <div class="" style="text-align: center;">
  <button type="button1" class="btn btn-success">Вывод в Excel</button>
</div>
<script>
document.getElementById("addRow").onclick = function() {
    var row = document.createElement("tr");
    row.innerHTML ='<td><select id="elem"name="hero"><option>1</option><option>ыувапнрг</option><option>Средняя длина кабеля (от шкафа до рабочего места), м</option></select></td><tdfor="Price"><div contenteditable >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td>';
    document.getElementById("node").appendChild(row);
}
 
document.getElementById("addRow1").onclick = function() {
    var row = document.createElement("tr");
    row.innerHTML ='<td><select id="elem" name="hero1"><option>re</option><option>erdghj</option></select></td><td for="Price"><div contenteditable >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td><td for="Price"><div contenteditable >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td>';
    document.getElementById("node1").appendChild(row);
}
 
function addition() {
      var a = parseInt(document.getElementById('a').td);
      var b = parseInt(document.getElementById('b').td);
 
      if (isNaN(a)==true) a=0;
      if (isNaN(b)==true) b=0;
 
      var c = a + b;
 
      document.getElementById('result').innerHTML = a + " + " + b + " = " + c;
    }
 
$('#elem').on('change', function() {
  $('#Price').val(this.value)
})
 
$(function(){
    $('button1').click(function(){
        var url='data:application/vnd.ms-excel,' + encodeURIComponent($('#tableWrap').html()) 
        location.href=url
        return false
    })
})
</script>
 
 
</body></html>
0
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
23.04.2019, 11:41 10
Lastik228, непонятно, какие данные вы хотите выводить для "Средней длины кабеля", например? Они есть у Вас на странице? Или их нужно с базы получать.
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.04.2019, 11:51  [ТС] 11
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
"Средней длины кабеля"
это выводится в select мне же надо при выборе например чего то другого из select подтягивались данные из базы а это именно Quantity or meter и Price и становились рядом с выбранным элементом.
0
Миниатюры
Фильтрация в выпадающем списке  
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
23.04.2019, 12:23 12
Lastik228, ну если не хочешь заранее подгружать все данные на страницу, тогда формируй запрос, обрабатывай его и возвращай json обратно с нужными тебе данными.
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.04.2019, 12:24  [ТС] 13
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
заранее подгружать все данные на страницу
как их заранее подгрузить?
есть манул какой ни будь или пример?
0
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
23.04.2019, 12:38 14
Во вьюхе
Python
1
wardrobes = Wardrobes.objects.all()
В шаблоне
HTML5
1
2
3
4
{% for wardobe in wardobes %}
    <span class="wardobe q_m">{{ wardobe.quantity_or_meter }}</span>
    <span class="wardobe price">{{ wardobe.price }}</span>
{% endfor %}
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.04.2019, 13:16  [ТС] 15
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
В шаблоне
куда именно вставлять?

Добавлено через 31 минуту
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
В шаблоне
все допер сори просто долго думаю очень . нет это мне не сильно подходит так как данных будет много а клиенту нужно будет выбрать только несколько.есть мануал по второму виду как вы предложили?там где нужно формировать запрос, обрабатывать его и возвращать json обратно с нужными данными.
0
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
23.04.2019, 13:25 16
Lastik228, насчёт мануалов не знаю, но вот неплохой пример.
https://youtu.be/dx6uXEuPtw4?t=476
1
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.04.2019, 13:33  [ТС] 17
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
но вот неплохой пример
примерно понял окей.можешь так же с этим вопросом помочь Несколько таблиц в один Excel
0
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
23.04.2019, 13:41 18
Lastik228, не знаю, с таким не сталкивался. но очевидно вам нужно сначала определить все эти таблицы в одну переменную и затем в цикле пройтись по ним и сохранить в один эксель файл.

Добавлено через 51 секунду
Если у вас сохраняет только одну таблицу, то либо вы определили всего одну таблицу, либо вы просто не прошлись по всем таблицам.
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
25.04.2019, 13:25  [ТС] 19
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
но вот неплохой пример
я примерно написал код но он выводит немного не так. при выборе из select я ввожу данные в консоль а он выводит не числа а только по одному элементу.это выводиться в консоль [1.0, 234.0, 31.0] и при выборе из select для первого элемента он мне выводит "[" под вторым "1" и под третьим "."

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script type="text/javascript">
  var v = "{{ prices }}";
    function Add_option_to_select()
    {
       var CountryObj = document.getElementById("SelectMyLove");
       var ResortObj = document.getElementById("resort");
       var selind = CountryObj.options.selectedIndex;
       console.log(v)
        ResortObj.value = v[selind];
 }
 
  </script>
 
 
<table>
<tr><td valign="top">
<br /><br />
<SELECT name="SelectMyLove" id="SelectMyLove" onChange="Add_option_to_select();">
{% for wardrobe in wardrobes %}
      <option VALUE="0">{{wardrobe.title}}</option>
    {%endfor%}
</SELECT>
</td>
<td valign="top">
<br /><br />
<input type="text" id="resort" readonly/>
</td>
</tr>
 
</table>
0
Миниатюры
Фильтрация в выпадающем списке  
956 / 513 / 221
Регистрация: 15.01.2019
Сообщений: 1,967
Записей в блоге: 1
25.04.2019, 13:47 20
Lastik228, скидываете отрендеренный хтмл шаблон страницы, а не джанговский.
и я не увидел у вас запроса к серверу.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2019, 13:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Поиск в выпадающем списке
Подскажите можно ли фильстровать выпадающий список?

Поиск в выпадающем списке
Добрый день подскажите можно ли сделать поиск в выпадающем списке на ячейке так , что бы при вводе...

Значение в выпадающем списке
Добрый день. Есть калькулятор. Там есть поля для ввода цифр обычные, и есть один выпадающий...

Поиск по алфавиту в выпадающем списке
Нужен пример кода. Нужно нечто похожее на выпадающий список. То есть текстовое окно +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.