Javascript 替换方法在复选框 if/else 切换中不起作用

标签 javascript xml checkbox replace toggle

我正在使用一些 Javascript,它由多个复选框调用,并且理想情况下会在选中/取消选中复选框时执行操作(累积地向 URL 添加和删除 &attributeValue=attribID)。

这是 JavaScript:

var filterBaseURL = <?="\"".$url."\""?>; /*This is just copying a php variable that contains the base URL defined earlier - all of this works fine*/
var filterFullURL = filterBaseURL;
function filterToggle(attribID)
{
  var elementII = document.getElementById(attribID);
  if(elementII.checked){
     filterFullURL = filterFullURL+"&attributeValue="+attribID;
  }
  else {
     filterFullURL.replace("&attributeValue="+attribID, "");
     alert(filterFullURL);
  }
}

因此,我在这里所做的就是尝试在选中复选框时,将该复选框的 attributeValue 添加到 URL,并在取消选中复选框时,删除该复选框的属性值来自 URL 的属性值。我使用 filterFullURL = filterFullURL+"..."因为有多个复选框,并且我希望将它们的所有 attributeValues 累积添加到 URL 中。

所有这些都工作正常 - 唯一工作不正常的是 else 语句操作 -

filterFullURL.replace("&attributeValue="+attribID, "");

以下是一些复选框示例:

<input type="checkbox" onclick="filterToggle('price_range_0_20')" name="Price_Range" value="Below_$20" id="price_range_0_20" /> Below $20
<input type="checkbox" onclick="filterToggle('price_range_20_40')" name="Price_Range" value="$20_-_$40" id="price_range_20_40" /> $20 - $40
<input type="checkbox" onclick="filterToggle('price_range_40_70')" name="Price_Range" value="$40_-_$70" id="price_range_40_70" /> $40 - $70

回顾一下 - 我可以将所有复选框的 attributeValues 添加在一起,但我无法删除其中任何一个。这里有什么帮助吗?谢谢!

最佳答案

您不需要像filterFullURL = filterFullURL.replace("&attributeValue="+attribID, "")那样保存filterFullURL.replace的输出吗?

关于Javascript 替换方法在复选框 if/else 切换中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7192416/

相关文章:

wicked_pdf 中的 javascript_delay 抛出错误

c# - 使用 XDocument 获取大写的 UTF-8

php - 在 mysql 数据库中使用 pdo 保存复选框值

php - HTML 复选框表单和 HTTP URL

javascript - 尝试制作一个 html 复选框,将数字添加到输出字段

javascript - JavaScript 中的 hasOwnProperty

javascript - 带 lodash/下划线的复合索引

c# - 使用C#从jsignature转换base30图像

c# - 模式验证在验证之前不修剪字符串

java - 使用 Java 方法格式化 HTML 页面上的文本/XML 输出