-1
ドロップダウンリストからオプションを選択した後、jqueryからテキストボックスを入力しようとしています。私はコードのいくつかの抜粋を含みます。MVCのドロップダウンリストからテキストボックスを入力
これはビューのマークアップです。に変更があったとき
<div class="form-group">
@Html.LabelFor(model => model.DependantID, "DependantID", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("DependantID", null, htmlAttributes: new { @class = "form-control", @onchange = "GetRegNo()" })
@Html.ValidationMessageFor(model => model.DependantID, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.RegNo, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@*@Html.EditorFor(model => model.RegNo, new { htmlAttributes = new { @class = "form-control" } })*@
<span id="loading_progress1" style="display: none;">Please wait...</span>
@Html.TextBoxFor(model => model.RegNo, new { @Value = @ViewBag.Regno, @readonly = "readonly", @class = "form-control" })
@*@Html.TextBoxFor(model => model.RegNo, new { @Value = Regno, @readonly = "readonly", @class = "form-control" })*@
@Html.ValidationMessageFor(model => model.RegNo, "", new { @class = "text-danger" })
</div>
</div>
これは私が
function GetRegNo() {
var dependid = $('#DependantID').val();
var dprogress = $('#loading_progress1');
dprogress.show();
//alert(schoolid);
$.ajax({
cache: false,
//url: '@Url.Action("/Patients/FillClass")',
url: '/Patients/FillClass',
type: "GET",
datatype: "json",
data: { DependID: dependid },
success: function (stud) {
$("#RegNo").html(""); ///clear entry before appending
$("#RegNo").html() = stud.regno;
alert("I reach here");
alert("data.regno " + stud.regno);
//$.each(studi, function (i, stude) {
//$("#SClassID").append(
//$('<option></option>').val(stude.SClassID).html(stude.Class));
// });
dprogress.hide();
},
error: function (response) {
alert("Error: " + response.responseText);
dprogress.hide();
}
});
を達成するために期待していますjqueryのコードは、これは私のコードからコントローラだから、
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult FillClass(int? dependid)
{
if (dependid == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
string regno="";
var N = db.Patients.Max(f => (int?)f.PatientID).GetValueOrDefault(0);
N++;
string Nt = Convert.ToString(N);
if (dependid == 1)
{
regno = "M" + Convert.ToString((DateTime.Now).ToString("yy")) + BizLogic.Right("00000" + Nt, 5);
}
else
{
regno = "D" + Convert.ToString((DateTime.Now).ToString("yy")) + BizLogic.Right("00000" + Nt, 5);
}
return Json(regno, JsonRequestBehavior.AllowGet);
}
からですが、上記のスニペットドロップダウンリストのjavaが呼び出され、コントローラのメソッドが呼び出され、テキストボックスが埋められます。より良い方法があれば、私はすべて開いています。ありがとうございました。
あなたはコードの束を投稿しました。それは働いていないのですか?あなたはあなたの質問に明確な問題の状態を持っていません。また、「JavaScript」は完全に異なるため、「Java」として決して参照するべきではありません。 – mason
JavaとJavascriptに関する問題を修正してくれてありがとう。しかし、私は達成しようとしているものが見えるようにコードを掲載します。 –
それはうまくいきません! –