Javascript 为什么我的复选框会禁用其他值?

Javascript 为什么我的复选框会禁用其他值?,javascript,php,jquery,checkbox,configuration,Javascript,Php,Jquery,Checkbox,Configuration,我将使用多个复选框,每次我更改其中一个复选框的值时,都会使所有其他复选框的值为false。我唯一能想到的是,当值被更改并发送到validate.php时,它还会查找其他值并相应地进行设置。如果是这样的话,我怎样才能使它只改变预期的值呢 JavaScript/JQuery代码片段(每个变量都有一个更改函数): HTML代码段(更改了名称和变量名的更多复选框): 问题似乎是 window.location.href = 'validate.php?music_status=' + music_val

我将使用多个复选框,每次我更改其中一个复选框的值时,都会使所有其他复选框的值为false。我唯一能想到的是,当值被更改并发送到validate.php时,它还会查找其他值并相应地进行设置。如果是这样的话,我怎样才能使它只改变预期的值呢

JavaScript/JQuery代码片段(每个变量都有一个更改函数):

HTML代码段(更改了名称和变量名的更多复选框):


问题似乎是

window.location.href = 'validate.php?music_status=' + music_value;
请注意,每次“刷新”页面时,您只发送随时间变化的变量的状态,您可以使用:

$_SERVER['QUERY_STRING'] // contains the current _GET parameters
或javascript中的等效文件(请参阅:)将您的新状态附加到其中

完成后,您的链接应该如下所示

window.location.href = 'validate.php?' + VALUES + '&music_status= + music_values 

其中,值包含不同变量的所有先前值(格式为“var1=value&var2=value&var3=value”

您可能会检查复选框的
checked
属性,而不是
value
属性。我真的不确定如何使用它。它是否与$vars=$\u SERVER['QUERY\u STRING'];parse\u str($vars,$vars\u arr);if(isset($vars[“music\u status]”)和$vars[“music\u status”]类似==false){Code Here}您将使用$\u SERVER['QUERY\u STRING']为了修改重定向。问题是您只向下一页传递一个值,您需要传递所有值。我找到了自己的方法,通过简单地将php代码中的else语句更改为else if,然后简单地将==false更改为==true,使其他复选框值不会变为false。我仍然接受这个方法不过,这是另一种方法,所以我的答案是。
window.location.href = 'validate.php?music_status=' + music_value;
$_SERVER['QUERY_STRING'] // contains the current _GET parameters
window.location.href = 'validate.php?' + VALUES + '&music_status= + music_values