4

次のような URL があります。

http://www.mysite.com/index.html?x=x1&x=x2&x=x3

JavaScript または JQuery を使用して、以下のような値を取得するにはどうすればよいですか。

var x='x1,x2,x3'
4

6 に答える 6

2

URLを直接ヒットすると、次のように使用できます

var fieldValue = ['x1','x2','x3'];
var searchValue = 'x='+ fieldValue.join(',');
window.location.search = searchValue;

これにより、現在の URL がヒットし、指定されたパラメーターのデータが検索されます。

手動で URL を作成したい場合は、検索を押してから

var url = "http://www.mysite.com/index.html"; 
window.location.href = url;
var fieldValue = ['x1','x2','x3'];
var searchValue = 'x='+ fieldValue.join(',');
window.location.search = searchValue;

これで、要件に従って値を検索できます。

于 2013-11-05T08:17:02.333 に答える
2
var url = "http://www.mysite.com/index.html?x=x1&x=x2&x=x3";
var params = url.match(/\?(.*)$/)[1].split('&');
var values = [];
for(var i=0; i<params.length; i++){
    values.push( params[i].match(/=(.*)$/)[1] );
}
var result = values.join(","); // "x1,x2,x3"

編集:これは、必要なパラメーターを選択できるより良いソリューションです。これは、私のプロジェクトの 1 つに埋もれているのを見つけたものであり、すべてを書いたわけではありません。

function $_GET(param) {
    var query = window.location.search.substring(1);
    var vars = query.split('&');
    var values = [];
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        if (urldecode(pair[0]) == param) {
            values.push(urldecode(pair[1]));
        }
    }
    return values.join(",");
}

// Decode URL with the '+' character as a space
function urldecode(url) {
  return decodeURIComponent(url.replace(/\+/g, ' '));
}
于 2013-11-05T07:40:19.133 に答える
0

多分正規表現を使用します:

var s = window.location.search;
var foo = s.match(/x=([0-9a-zA-Z]+)/g).join(",").replace(/x=/g, ""); // x1,x2,x3
于 2013-11-05T09:11:09.720 に答える
0

必要なのはPURLだと思います。詳細な使用方法とガイドラインについては、 https://github.com/allmarkedup/purlを参照してください。

于 2013-11-05T07:36:12.243 に答える
0
function GetUrlValue(VarSearch){
var SearchString = window.location.search.substring(1);
var VariableArray = SearchString.split('&');
for(var i = 0; i < VariableArray.length; i++){
    var KeyValuePair = VariableArray[i].split('=');
    if(KeyValuePair[0] == VarSearch){
        return KeyValuePair[1];
    }
}

}

ここを読んでくださいhttp://javascriptproductivity.blogspot.in/2013/02/get-url-variables-with-javascript.html

于 2013-11-05T07:37:12.087 に答える
0

query stringjqueryを使用してjqueryで簡単に見つけることができますsplit

この関数を試しQuery Stringて、配列オブジェクトとして取得してください。

function getUrlVars()
{
    var vars = [];
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[1]);             
    }
    return vars;
}

この関数は、URL パラメーターとその値を含む配列/オブジェクトを返します。したがって、jquery.join()を使用してコンマ区切りの値に変換できます。

var result = vars.join(",");

jsfiddleで試してください

于 2013-11-05T07:53:05.483 に答える