@rollex_x93

Как отправлять значение, после выбора select(a)?

Проблема такая, пользователь выбирает из списка материал и после этого из БД вытягиваются его параметры - так вот проблема в том, что значения не отправляю в пост.Если создать кнопки и повесить на нее событие отправить в пост, тогда все работает, но мне бы хотелось, чтобы пользователю не приходилось постоянно нажимать на кнопку, чтобы параметры выгружались из БД.
<script type="text/javascript">
	$('.material').on('change', function() {
  	var id_mat = this.value;
  	$(".id_mat").val(id_mat);
  	$.post("materials.php" , $("#materials").serialize());
	});
</script>
  • Вопрос задан
  • 427 просмотров
Пригласить эксперта
Ответы на вопрос 1
e_snegirev
@e_snegirev
На одном из проектов было понаписано нечто похожее, и то ли скрипты перекрывали друг друга то ли еще что. В общем, пришлось примерно такое решение сделать. Может поможет.

$('select').change(function() {
	if ( navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 ) {
		
		var selIndex = $(this).find('option:selected').index()+1;
		$(this)
		.find('option')
			.removeAttr('selected')
		.end()
		.find('option:nth-child('+selIndex+')')
			.attr('selected', 'selected')
		.end()
		.find('option:not(:nth-child('+selIndex+'))')
			.prop('selected', false)
		.end()
		.find('option:nth-child('+selIndex+')')
			.prop('selected', true)
	} else {
		var selIndex = $(this).find('option:selected').index()+1;
		$(this).find('option').removeAttr('selected').end().find('option:nth-child('+selIndex+')').attr('selected', 'selected');
		$(this).val($(this).find('option[selected="selected"]').val());
	}

	// $(this).val()
	$.ajax({
		url: '',
		data: {
			a: $(this).val()
		},
		// ...
	})
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы