这可能很简单,但我还没有找到任何正确的方法。
@Html.EditorFor(model => model.Name)
@Html.DropDownListFor(model => model.Destination)
现在,我想知道如何通过jquery从这些强类型的html助手中选择值。 我想将这些选定的输入值发布到json数组。像这样:
{ 名称:“文本框中的选定值”, 目的地:“从下拉列表中选择的值” }
我知道如何使用简单的文本框:
@Html.TextBox("myname")
从此文本框中获取值,只需使用
即可$("myname").val();
Prevoiusly,我能够通过json数组将静态数据发送到控制器,如下所示:
<script>
var auth = {
ClientId : "ApiIntegration",
Origin : "Delhi",
}
$("#btnPost").click(function () {
$.ajax(
{
url: "/api/Flight/About",
type: "Post",
contentType: "application/json",
data: JSON.stringify(auth),
success: function(result)
{
alert(result);
}
});
});
但是现在,我想在Textbox的Origin对象中填充值,这次不是静态的。 我的编辑是这样的:
@Html.EditorFor(model => model.Origin)
请帮帮我。
答案 0 :(得分:0)
您可以从输入名称获取值,如下所示:
$("input[name=myname]").val();
答案 1 :(得分:0)
var jList=[];
var jOobj={Name:""};
jObj.Name=$("#myname").val();
jList.push(jObj);
答案 2 :(得分:0)
使用AJAX时始终使用promise是一种好习惯。在您自己的情况下添加数据类型如下:
function SaveRecord(data) {
return $.ajax({
url: "/api/Flight/About",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
data: data
});
}
然后你可以这样使用它:
var data = {
ClientId : $("#Name").val(),
Origin : $(#Destination").val()
};
$.when(SaveRecord(data )).then(function (res) {
///handle success calback here
}).fail(function(err){});
我希望这会有所帮助
答案 3 :(得分:0)
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @id="Name" } })
@Html.DropDownList(model => model.Destination, new { htmlAttributes = new { @id = "Destination" } })
<script type="text/javascript">
var auth = {ClientId: "",Origin: ""}
auth.ClientId = $("#Name").val();
auth.Origin= $("#Destination option:selected").text();
$("#btnPost").click(function () {
$.ajax({
url: "/api/Flight/About",
type: "Post",
contentType: "application/json",
data: JSON.stringify(auth),
success: function (result) {
alert(result);
}
});
});
</script>
答案 4 :(得分:0)
试试这个:
var originvalue = $('#Origin').val();
$("#btnPost").click(function () {
$.ajax(
{
url: "/api/Flight/About",
type: "Post",
data: '{"ClientId":"ApiIntegration"' + ',"Origin":"' + originvalue + '"}',
contentType: 'application/json; charset=utf-8',
success: function(result)
{
alert(result);
}
});
});