使用map()返回url查询字符串

时间:2013-04-02 13:19:49

标签: jquery

我想让这个脚本返回一个url查询字符串,具体取决于list-item元素上检查的内容。

function makeQuery(){
    var catRes = $('.options input[type="checkbox"]:checked').map(function() {
      return $(this).val();
    }).get().join(", ");
    $('.catQuery').val(catRes);
}

$('.options input[type="checkbox"]').click(function(){
    makeQuery();
});

HTML

<input type="hidden" class="catQuery" value="< map() result here >"/>
<ul class="options">
    <li><input type="checkbox" value="url1"/>Item 1</li>
    <li><input type="checkbox" value="url2"/>Item 2</li>
    <li><input type="checkbox" value="url3"/>Item 3</li>
</ul>

我知道我得到的结果现在是url1,url2,url3但是我希望它创建一个与此相当的字符串

  

URL1 = 1&安培; URL2 = 1 ...

取决于选中的输入。

1 个答案:

答案 0 :(得分:1)

试试这个:

function makeQuery() {
    var catRes = $('.options input[type="checkbox"]:checked').map(function () {
        return $(this).val() + "=1";
    }).get().join("&");
    $('.catQuery').val(catRes);
}

$('.options input[type="checkbox"]').click(function () {
    makeQuery();
});

DEMO