私は会社、空き室、インタビュー、QuestionBlocksを持つデータベースを持っています。ここでAJAX(ASP.NET MVC)経由でデータベースからデータを選択
は空席とインタビューに接続質問ブロックに接続されているので、空室は、当社に接続されていること
のスキーム、インタビューです。
私は会社のDropdownListsを認識していて、私は空きのドロップダウンリストの更新を選択します。ここで
が表示
<div style="width: 100%; margin-left: 20px;height: 15%;padding-top: 20px;">
@Html.DropDownList("Company", ViewBag.Companies as SelectList, "Компания", new { @class = "greeting", @style = "width:30%; margin-left:20px;" })
<select class="greeting" id="vacancy" name="id" style="width:30%; margin-left:150px;" data-url="@Url.Action("Vacancies","Questions")">
<option value="" disabled selected>Вакансия</option>
</select>
</div>
そしてAjax呼び出し
<script>
$(function() {
$("#Company").change(function (e) {
var $vacancy = $("#vacancy");
var url = $vacancy.data("url") + '?companyId=' + $(this).val();
$.getJSON(url, function (items) {
$.each(items, function (a, b) {
$vacancy.append('<option value="' + b.Value + '">' + b.Text + '</option>');
});
});
});
});
</script>
のためのコードは、だから私は必要なものを私はこの
のようなビューを持っています。
コントローラにリクエストし、VacancyIdに関連するQuestionBlockを見つける必要があります。
私が理解したように、dropdownlistのVacancyIdをコントローラに渡してSQL操作を行い、JSONを返す必要がありますか?
どうすればいいですか?
UPDATE
感謝のは、回答@CuriousDevのために、それは選択した項目に適しています。
もう1つ必要ですが、このようにQuestion1-Question10を表示する必要があります。ここで
私の対処法私はdivの中で末端と表示データをバックアップするために、AJAX呼び出しを記述する必要がどのように
public ActionResult QuestionBlocks(int vacancyId)
{
var items = db.QuestionBlocks
.Where(x => x.Interview.VacancyId == vacancyId)
.Select(x => new
{
ID = x.Block_ID.ToString(),
Question1 = x.Question1,
Question2 = x.Question2,
Question3 = x.Question3,
Question4 = x.Question4,
Question5 = x.Question5,
Question6 = x.Question6,
Question7 = x.Question7,
Question8 = x.Question8,
Question9 = x.Question9,
Question10 = x.Question10,
})
.ToList();
return Json(items, JsonRequestBehavior.AllowGet);
}
のですか?
あなたはすでに解決策を見つけましたが、あなたが解決策を認識しているようです。 – Curiousdev
私の質問は、正しく要求を取得する方法と、サーバー側でメソッドを書く必要がある方法です。 @Curiousdev –
'$("#Company ")の代わりに質問を記入する必要がある'空席状況 'の変更については、 'vacancy'ドロップダウンで今行ったことと同じになります。 e){'$(" vacancy ")を変更する(function(e){' companyId'の代わりに 'vacancyid'を渡す必要があります。空きのための書き込みを持っている – Curiousdev