用于将值从复选框传递到查询字符串的 JavaScript 无法正常工作
JavaScript for passing value from check box to query-string Not Working Properly
我正在使用javascript。但它无法正常工作。JavaScript 用于将复选框中的值传递到查询字符串。
这是我的代码,请帮我找到错误。
<script type="text/javascript">
function GetOS() {
$('input[type="checkbox"]').on('change', function (e) {
var data = {},
fdata = [],
loc = $('<a>', { href: window.location })[0];
$('input[type="checkbox"]').each(function (i) {
if (this.checked) {
if (!data.hasOwnProperty(this.name)) {
data[this.name] = [];
}
data[this.name].push(this.value);
}
});
$.each(data, function (k, v) {
fdata[k] = [v.join(',')];
});
fdata = fdata.join('&');
$.post('/ajax-post-url/', fdata);
if (history.pushState) {
history.pushState(null, null, loc.pathname + '?' + fdata);
}
});
}
window.onload = GetOS;
</script>
<div class="panel-body">
<div class="rowElem">
<input type="checkbox" name="chbox" id="" value="Color #1" />
<label>Color #1</label>
</div>
<div class="rowElem">
<input type="checkbox" name="chbox" id="" value="Color #2" />
<label>Color #2</label>
</div>
<div class="rowElem">
<input type="checkbox" name="chbox" id="" value="Color #3" />
<label>Color #3</label>
</div>
</div>
试试这个:
<script type="text/javascript">
function GetOS() {
console.log("rom");
$('input[type="checkbox"]').on('change', function (e) {
var data = {},
fdata = [],
loc = $('<a>', { href: window.location })[0];
$('input[type="checkbox"]').each(function (i) {
if (this.checked) {
if (!data.hasOwnProperty(this.name)) {
data[this.name] = [];
}
data[this.name].push(this.value);
}
});
// get the key
var key = Object.keys(data)[0];
// and the data
// it works to without joining
var fdata = key+"="+data[key].join(',');
// and if you wanna strip the whitespaces
// use fdata = fdata.replace(/'s/g,"");
$.post('/ajax-post-url/', fdata);
if (history.pushState) {
history.pushState(null, null, loc.pathname + '?' + fdata);
}
});
}
window.onload = GetOS;
</script>
这也行得通
<script type="text/javascript">
function GetOS() {
$('input[type="checkbox"]').on('change', function (e) {
var data = {},
fdata = [],
qs = "",
loc = $('<a>', { href: window.location })[0];
$('input[type="checkbox"]').each(function (i) {
if (this.checked) {
if (!data.hasOwnProperty(this.name)) {
data[this.name] = [];
}
data[this.name].push(this.value);
}
});
$.each(data, function (k, v) {
fdata.push(k + "=" + v.join(','));
});
qs = fdata.join('&');
$.post('/ajax-post-url/', fdata);
if (history.pushState) {
history.pushState(null, null, loc.pathname + '?' + qs);
}
});
}
window.onload = GetOS;
</script>
相关文章:
- Zurb基金会's javascript不工作
- Javascript不工作/正在加载
- 只有当Javascript控制台在chrome上打开时,Javascript才能工作
- Num doenst在我的javascript中工作
- 可以't让ClientContext.executeQuery()在javascript中工作
- Javascript setInterval工作不正常
- 没有获得基础's的Javascript元素工作(与Laravel和Elixir)
- 在Alfresco中动态创建空间/文件夹的Javascript;t工作正确
- 我怎样才能让这个javascript正常工作
- 如何使手风琴(CSS+javascript)工作
- 为不在javascript中工作的动态创建类设置属性
- 服务器重新启动后javascript不工作
- function.apply如何在javascript中工作
- 我该怎么做[硬编码号码].[函数调用]在Javascript中工作
- 让PHP、Form和Javascript协同工作
- 我的regex可以在regex101.com沙箱中工作,但不能在实际的javascript中工作
- Check IF条件返回false,但IF中的语句仍然可以在JavaScript中工作
- Javascript 不工作,结果打印后浏览器仍在加载
- 添加两个数字的JavaScript函数工作不正常
- 在CRM 2011中从JavaScript执行工作流