#jquery #ajax #asp.net-mvc-3
#jquery #ajax #asp.net-mvc-3
Вопрос:
У меня есть следующий @Ajax.Код ActionLink:
@Ajax.ActionLink("Assign Ownership",
"AssignOwnership",
new
{
techLogCode = Model.TechLog.Code,
salesRepId = "",
},
new AjaxOptions
{
HttpMethod = "POST",
Confirm = "Are you sure you want to take ownership?",
OnSuccess = "reloadWindow",
OnFailure = "displayAjaxError"
})
У меня есть выпадающий список с идентификатором владельца, и я хочу использовать выбранное значение в качестве salesRepId. Как мне получить это значение в моем вызове @Ajax?
Я думаю, что это jQuery, который будет работать.
$("#owner option:selected").val()
Комментарии:
1. Вы пробовали
salesRepId = "$('#owner option:selected').val() "?
2. Jquery никогда не запускается. Он буквально передает параметр $(‘#owner:selected’).val() как salesRepId .
3. Не могли бы вы опубликовать, как выглядит ссылка на действие ajax на стороне клиента?
4. Ваша ссылка на действие ajax отображается как ссылка что-то вроде
<a data-ajax="true" data-ajax-confirm="Are you sure you want to take ownership?" data-ajax-failure="displayAjaxError" data-ajax-method="POST" data-ajax-success="reloadWindow" href="/Home/AssignOwnership?techLogCode=Value1amp;salesRepId=value2">Assign Ownership</a>
того, что вы можете сделать, это использовать jQuery / javascript для изменения href для включения выбранного значения
Ответ №1:
Поместите ссылку на действие в div и используйте jQuery для изменения ссылки для вашего ajax на стороне клиента.
<div id="ajaxForm">
@Ajax.ActionLink("Assign Ownership",
"AssignOwnership",
new
{
techLogCode = Model.TechLog.Code,
salesRepId = "",
},
new AjaxOptions
{
HttpMethod = "POST",
Confirm = "Are you sure you want to take ownership?",
OnSuccess = "reloadWindow",
OnFailure = "displayAjaxError"
})
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#ajaxForm a").click(function (event) {
$(this).attr('href', "/YourControllerName/AssignOwnership?techLogCode='Value1'amp;salesRepId= value2");
});
});
Комментарии:
1. Спасибо за помощь, это сработало для меня. Все еще изучаю ajax и jquery. У меня еще есть пути.
Ответ №2:
Почему бы не поместить выпадающий список в ajaxForm и не изменить ActionLink
его на кнопку отправки? Включите techLogCode
поле как скрытое поле