我能夠根據(jù)復選框選擇向 URL 添加/刪除參數(shù)?,F(xiàn)在,如果選中多個復選框,我希望特定 URL 參數(shù)具有多個值。我改編了之前的答案片段以反映我陷入困境的地方。選擇多個復選框時,會添加參數(shù)和值,而我只需要添加值。我怎樣才能得到http://example.com/?param=foo,bar而不是http://example.com/?param=foo¶m=bar當我檢查foo和bar?const url = 'http://example.com' // demo version// const url = location.href - live versionconst urlObj = new URL(url);const params = urlObj.searchParamsconst $checks = $(':checkbox')// on page load check the ones that exist un urlparams.forEach((val, key) => $checks.filter('[name="' + key + '"]').prop('checked', true)); $checks.change(function(){ // append when checkbox gets checked and delete when unchecked if(this.checked){ //here I check if there is already the parameter in url if (url.indexOf(this.value) > -1) { //and try to append only this name with a comma as separator from previous one params.append(',',this.name ) } else { params.append(this.value,this.name ) } }else{ params.delete(this.name); } // do your page load with location.href = urlObj.href console.clear() console.log(urlObj.href);})<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><label>Foo <input type="checkbox" name="foo" value="param"/></label> <label>Bar <input type="checkbox" name="bar" value="param"/></label><label>Zzz <input type="checkbox" name="zzz" value="param"/></label>
- 0 回答
- 0 關(guān)注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消