Кнопка:
echo CHtml::link('',array('modelo/ajaxnuevomodelo','id'=>$model->marcaID),array('class'=>'btn btn-sm btn-primary','размещение данных '=>'top','data-target'=>'#extraModal', 'data-toggle'=>'modal','onclick'=>'AjaxExtra($(this).attr("href")) ')); ?>
Функция ajax
$('#Vehiculo_marcaID').change(function(){
//var vehiculomarca = jQuery('#Vehiculo_marcaID').val();
var vehiculomarca = $('#Vehiculo_marcaID').val();
//Я НЕ ЗНАЮ ЧТО ДЕЛАТЬ!!! });
Я немного знаком с ajax, я новичок в этом, но да, у меня не было хороших результатов. :/
Покажите свои плохие результаты, так как это необходимо, чтобы понять, чего вы пытаетесь достичь.
Я удалил весь код, который пробовал, я получил только это: $('#Vehiculo_marcaID').change(function(){ //var vehiculomarca = jQuery('#Vehiculo_marcaID').val(); = $('#Vehiculo_marcaID').val(); }); Пример gbillig хорош, получите идентификатор, теперь мне нужно отправить его на кнопку модального окна.
Любое обновление по этой проблеме? Прояснил ли мой ответ вопросы, которые у вас были? Если да, рассмотрите возможность принятия ответа. :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Перейти к функциональному примеру Перевод Вот функциональный пример
$(document).ready(function(){
$("select#Vehiculo_marcaID").change(function(){
var marca = $(this).children("option:selected").val();
alert("Você selecionou a marca - " + marca);
});
});
Вы можете сделать это
$("#btnid").on('click', function(){
let marca = $("select#Vehiculo_marcaID").children("option:selected").val();
let modelo = $("select#Vehiculo_modeloID").children("option:selected").val();
Here the rest of your logic to open the modal
});
Поскольку ОП спрашивает на английском языке, было бы уместно ответить только на английском языке.
О да, спасибо, это работает, .... теперь мне нужно отправить эту марку в модальное окно по этой ссылке CHtml::link('',array('modelo/ajaxnuevomodelo','id'=>$model-> marcaID),массив('class'=>'btn btn-sm btn-primary','data-placement'=>'top','data-target'=>'#extraModal', 'data -toggle'=>'modal','onclick'=>'AjaxExtra($(this).attr("href"))')); ?> :D
@Bernhard Пожалуйста, объясните
Какой мод вы используете?
В вашем вопросе не хватает важной информации. Во-первых, что такое разметка HTML? У нас нет никаких обозначений идентификатора, класса или подобного, чтобы сделать правильный селектор для получения желаемого значения.
Тем не менее, я попытаюсь опубликовать соответствующий ответ на вопрос (вопросы), которые у вас есть в этой связи, хотя я собираюсь использовать некоторые псевдообозначения из-за отсутствия информации. Общий смысл должен быть применим к рассматриваемой проблеме.
Так вот.
Из того, что мы можем интерпретировать на вашем снимке экрана, у вас есть элемент <select>, содержащий некоторые параметры, которые вы хотели бы проанализировать с помощью функции AJAX. Поскольку у вас может быть несколько вариантов выбора (судя по кнопке «+»), самым простым способом было бы использовать функцию serialize() (обратите внимание, что это нотация jQuery) для сериализации ваших входных данных в формат массива. Затем вам нужно будет пройтись по этому массиву везде, где вы решите обрабатывать данные, проанализированные функцией AJAX.
Чтобы сериализовать ваши данные, вам понадобится элемент, который содержит ваши входные данные. Я предполагаю, что у вас уже есть элемент <form> или аналогичный (элемент div тоже работает), который содержит ваши входные данные.
Этот элемент, содержащий ваши элементы ввода, должен иметь атрибут я бы или аналогичный, чтобы у нас было что нацелить с точки зрения сериализации данных.
пример:
<div id = "myForm">
<select class = "mySelect">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>
</div>
В приведенном выше примере у меня есть элемент див, содержащий мой выбор (может быть несколько вариантов выбора, это не имеет значения). Я дал своему элементу див идентификатор с именем моя форма. Теперь я могу использовать этот идентификатор в своем селекторе, чтобы нацелить этот элемент и сериализовать данные внутри него (в данном случае выборки).
Итак, в моем случае мой селектор будет выглядеть так (в нотации jQuery):
$('#myForm').serialize();.
Обратите внимание, что существует 2 метода сериализации данных, в зависимости от того, что вы хотите. .serialize(); — это стандартный формат сериализованных данных с кодировкой URL. Другой вариант — .serializeArray();, который дает вам объект JSON. Все зависит от того, с каким форматом данных вы хотите работать.
С этой информацией мы теперь можем перейти к самой функции AJAX. Обратите внимание, что я снова буду использовать нотацию jQuery. Мне очень нравится нотация jQuery для функций AJAX, потому что ее легко читать и понимать. Также обратите внимание, что я буду использовать свой собственный указанный псевдообозначения, чтобы сохранить преемственность в том, что я сейчас представляю в этом ответе.
Пример функции AJAX:
<script>
function submitData() {
$.ajax({
type : "POST",
url : "/your_page.php",
data : {
formData=$('#myForm').serialize()
},
success: function (html) {
//do something on success
}
})
}
</script>
Во-первых, в функции AJAX мы определяем, как наши данные будут анализироваться в опции type:. Наиболее распространенными типами являются POST и GET. Вы можете посмотреть различия между этими двумя методами анализа данных и определить, какая версия будет лучше для вашего решения. В вашей ситуации я бы предположил, что лучшим выбором будет использование ПОЧТА.
Во-вторых, мы выбираем, куда будут отправляться данные (какая конкретно страница/URL). Сюда будут отправляться данные и где вы будете обрабатывать данные, чтобы делать с ними все, что захотите.
В-третьих, мы указываем данные, которые мы отправляем. Это восходит к тому, что я уже говорил о селекторы и сериализация данных в массив, который вы можете пройти, чтобы получить указанные результаты.
Наконец, я также включил функцию успех, если вы хотите получить дополнительную функциональность в случае успеха. Это может быть сообщение пользователю, информирующее его о том, что он действительно отправил данные для оценки, или что-то еще, что вы хотите сделать. Вы можете полностью отказаться от него, но я лично считаю, что это хорошая функциональность. Вы можете сделать много вещей с ним.
Обратите внимание, что я инкапсулировал саму функцию AJAX в другую функцию с именем submitData(). Вы можете активировать это, имея атрибут onclick на кнопке, которая отправляет данные. Вместо этого вы можете использовать функция onclick для обработки функции AJAX, что было бы лучшим примером, если я полностью честен. $('#myButton').on("click", function() { //do the AJAX function });.
Вот как вы можете это сделать с помощью AJAX. Надеюсь это поможет!
Вы пытались отправить запрос ajax?