0

ASP.Net MVC3Webアプリケーションを開発しています。ユーザーがデータベースに新しいエントリを作成できるようにするRazorビューがあります。この作成ビュー内にドロップダウンリストがあり、ユーザーがオプションを選択すると、次のJQueryコードが起動します

$(document).ready(function () {

$("#gradeID").change(ChangeEventOfDDL);

function ChangeEventOfDDL() {
    var dropDownValue = $('#gradeID').val();
    //alert(dropDownValue);
    $.ajax({ type: "POST",
        url: '/FormEmployment/CreateSpecialtiesPartialView/' + dropDownValue,
        success: function (data) {
            $('#SpecialtiesContent').html(data);
        }
    });
}

});

このコード内でわかるように、選択したドロップダウンリストの値を使用して取得します

var dropDownValue = $('#gradeID').val();

ユーザーがエントリを編集しているときに、同様のコードを実行したいのですが、今回は、次のようなクエリ文字列でエントリIDを取得したいと思います。

http://localhost:56354/FormEmployment/Edit/41

JQueryを使用して値41を取得する方法を知っている人はいますか?それとも可能ですか?

ご協力いただきありがとうございます。

トニー。

4

2 に答える 2

2

取得したい値が常にURLの最後のスラッシュの後にあると想定できる場合は、次のことを試すことができます。

location.pathname.substring(location.pathname.lastIndexOf("/") + 1)

location.pathnameを使用すると、クエリ文字列パラメーターについて心配する必要がないため、URLを変更http://localhost:56354/FormEmployment/Edit/41?foo=barしても、意図したとおりに機能します。

于 2012-07-11T10:44:54.700 に答える
2

例で求めている値は、実際にはパスの一部であり、クエリ文字列の一部ではありません。

実際にクエリ文字列から値を取得したい場合は、次のようにすることができます。

getParameterByName: function (name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
}
于 2012-07-11T10:50:56.620 に答える