Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как сделать multiselect (https://javascript.ru/forum/jquery/54259-kak-sdelat-multiselect.html)

neos 11.03.2015 07:37

Как сделать multiselect
 
Есть html select

<select name="opValueDet2" multiple="true" size="5">
<option value="109168733" code="60811463">Active</option>
<option value="109168734" code="60811466">Terminated</option>
<option value="109168736" code="109151180">Maternity Leave</option>
<option value="109168737" code="109151182">Educational Leave</option>
<option value="109168738" code="109167709">Leave</option>
</select>

Уже второй день мучаюсь над одной проблемой. При нажатии на кнопку Submit должны селектиться все, кроме Terminated, а если один из option-ов активный - то вывести только его. То есть если все option-ы не будут активными, то надо вывести всех, кроме Terminated. Помогите)

laimas 11.03.2015 09:13

Во-первых, даже если вы выберете несколько опций в списке, то сервер все равно получит значение только последнего из выбранных, так как для списка со множественным выбором имя должно массивом - name="opValueDet2[]".

dd_smol 11.03.2015 12:48

jQuery(function($) {
	$('select[name=opValueDet2]')
		.closest('form')
		.submit(function(e) {
			var options = $('select[name=opValueDet2] option', this);
			
			if( !options.is(':selected') ) {
				options
					.filter(':not(:contains("Terminated"))')
					.prop('selected', true);					
			}
			// Отменить отправку формы
			return false;
		});
});

neos 11.03.2015 12:54

Цитата:

Сообщение от dd_smol (Сообщение 360675)
jQuery(function($) {
	$('select[name=opValueDet2]')
		.closest('form')
		.submit(function(e) {
			var options = $('select[name=opValueDet2] option', this);
			
			if( !options.is(':selected') ) {
				options
					.filter(':not(:contains("Terminated"))')
					.prop('selected', true);					
			}
			// Отменить отправку формы
			return false;
		});
});

Хм... Чаво-то button Submit не работает) Когда нажимаешь, нет действий

laimas 11.03.2015 12:54

dd_smol, не будет такое работать.

dd_smol 11.03.2015 12:59

Цитата:

Сообщение от neos (Сообщение 360677)
Хм... Чаво-то button Submit не работает) Когда нажимаешь, нет действий

А у меня работает - http://learn.javascript.ru/play/322Tsb

laimas 11.03.2015 13:01

Да вы что!? Ага, а что на сервере будет при этом?

dd_smol 11.03.2015 13:04

Цитата:

Сообщение от laimas (Сообщение 360684)
Да вы что!? Ага, а что на сервере будет при этом?

Вопрос не стоял как отправить и что отравлять вопрос стоял как выделить и мне кажется я этот вопрос решил.

laimas 11.03.2015 13:08

НУ конечно, то есть JS как спортивный интерес, выплюнул, а что там будет в итоге, трава не расти? :)
Ведь в случае правильного именования и селектор совсем по иному надо прописывать или тоже бог с ним?

dd_smol 11.03.2015 13:11

Цитата:

Сообщение от laimas (Сообщение 360689)
НУ конечно, то есть JS как спортивный интерес, выплюнул, а что там будет в итоге, трава не расти? :)

Не все формы отправляются на сервер. Так же кто мешает прежде чем отправлять данные на сервер собрать их через JS и отправить те данные которые требуются.


Часовой пояс GMT +3, время: 01:17.