Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于复选框值创建动态链接_Javascript_Jquery_Checkbox_Hyperlink - Fatal编程技术网

Javascript 基于复选框值创建动态链接

Javascript 基于复选框值创建动态链接,javascript,jquery,checkbox,hyperlink,Javascript,Jquery,Checkbox,Hyperlink,我试图实现的是: 页面的默认状态=未勾选复选框,未显示链接 用户勾选一个(或多个)复选框 将以以下格式显示从复选框值动态生成的链接:(其中所选复选框值为“蓝色”、“绿色”和“紫色”) 到目前为止,根据另一个问题()的建议,我已经能够通过一个按钮将正确格式的值(作为所需url的一部分)打印到console.log: $(“按钮”)。在(“单击”,函数(){ var arr=[] $(“:复选框”)。每个(函数(){ 如果($(this).is(“:checked”)){ arr.push($(t

我试图实现的是:

  • 页面的默认状态=未勾选复选框,未显示链接
  • 用户勾选一个(或多个)复选框
  • 将以以下格式显示从复选框值动态生成的链接:(其中所选复选框值为“蓝色”、“绿色”和“紫色”)
  • 到目前为止,根据另一个问题()的建议,我已经能够通过一个按钮将正确格式的值(作为所需url的一部分)打印到console.log:

    $(“按钮”)。在(“单击”,函数(){
    var arr=[]
    $(“:复选框”)。每个(函数(){
    如果($(this).is(“:checked”)){
    arr.push($(this.val())
    }
    })
    var VAL=arr.join(“,”)
    var str=”http://example.com/?subject=Products&“+VAL
    console.log(str)
    })
    
    蓝色
    绿色
    紫色

    按钮
    如果我正确理解了你的问题,我相信你的思路是正确的。我按照您的建议在您的复选框中添加了更改事件。请尝试下面修改的代码

    HTML

    
    蓝色
    绿色
    紫色
    JavaScript

    $("input[type=checkbox]").on("change", function(){
        var arr = []
        $(":checkbox").each(function(){
           if($(this).is(":checked")){
             arr.push($(this).val())
           }
        })
        var vals = arr.join(",")
        var str = "http://example.com/?subject=Products&checked=" + vals
        console.log(str);
    
      if (vals.length > 0) {
        $('.link').html($('<a>', {
          href: str,
          text: str
        }));
      } else {
        $('.link').html('');
      }  
    })
    
    $(“输入[type=checkbox]”)。在(“更改”,函数()上{
    var arr=[]
    $(“:复选框”)。每个(函数(){
    如果($(this).is(“:checked”)){
    arr.push($(this.val())
    }
    })
    var VAL=arr.join(“,”)
    var str=”http://example.com/?subject=Products&checked=“+VAL
    console.log(str);
    如果(vals.length>0){
    $('.link').html($('


    您的
    按钮已不再使用。这是您正在寻找的吗?

    如果我正确理解了您的问题,我相信您的思路是正确的。我按照您的建议添加了更改事件复选框。请尝试下面修改的代码

    HTML

    
    蓝色
    绿色
    紫色
    JavaScript

    $("input[type=checkbox]").on("change", function(){
        var arr = []
        $(":checkbox").each(function(){
           if($(this).is(":checked")){
             arr.push($(this).val())
           }
        })
        var vals = arr.join(",")
        var str = "http://example.com/?subject=Products&checked=" + vals
        console.log(str);
    
      if (vals.length > 0) {
        $('.link').html($('<a>', {
          href: str,
          text: str
        }));
      } else {
        $('.link').html('');
      }  
    })
    
    $(“输入[type=checkbox]”)。在(“更改”,函数()上{
    var arr=[]
    $(“:复选框”)。每个(函数(){
    如果($(this).is(“:checked”)){
    arr.push($(this.val())
    }
    })
    var VAL=arr.join(“,”)
    var str=”http://example.com/?subject=Products&checked=“+VAL
    console.log(str);
    如果(vals.length>0){
    $('.link').html($('


    您的
    按钮已不再使用。这是您正在寻找的吗?

    这将为您提供

    http://example.com/?subject=Products&checked=Blue,绿色,紫色

    (如需更好的方法,请参见下文):

    $(document).on(“change”,“.mod link”,function()){
    var arr=[]
    $(“.mod link:checked”).each(函数(){
    arr.push($(this.val());
    })
    var VAL=arr.join(“,”)
    var str=”http://example.com/?subject=Products&checked=“+VAL;
    var link=arr.length>0?“”:“”;
    $('.link container').html(link);
    });
    
    蓝色
    
    绿色
    紫色

    这将为您提供

    http://example.com/?subject=Products&checked=Blue,绿色,紫色

    (如需更好的方法,请参见下文):

    $(document).on(“change”,“.mod link”,function()){
    var arr=[]
    $(“.mod link:checked”).each(函数(){
    arr.push($(this.val());
    })
    var VAL=arr.join(“,”)
    var str=”http://example.com/?subject=Products&checked=“+VAL;
    var link=arr.length>0?“”:“”;
    $('.link container').html(link);
    });
    
    蓝色
    
    绿色
    紫色


    别忘了创建并添加到页面的实际链接不是代码笔,OP要求的链接-
    …链接还没有打印到页面上
    哦!谢谢!我错过了那部分!现在已经添加了。@scarabaeus/OP同样,你会想丢弃重复的id,显然是从OP的示例中获取的,但它们是not有效html:)更新了您的建议,@DelightedD0D。谢谢!别忘了创建并添加到页面的实际链接而不是代码笔,OP-
    要求的链接……而且链接还没有打印到页面上
    哦!谢谢!我错过了那部分!现在已经添加了。@scarabaeus/OP还有,您将要删除重复的id,很明显摘自OP的示例,但它们不是有效的html:)更新了您的建议,@bleeted0d。谢谢!^^^完美!这正是我要找的!你太棒了!最后一件事。如果复选框都被取消选中,链接可能会再次消失吗?如果不太麻烦,但如果可能的话,它会更干净。太棒了!两个工作选项!@Scarabeus有不同的w是的,但它也很完美。非常棒。谢谢!:DP.S。URL结构是重力表单的先决条件。它们的查询字符串都是逗号分隔的。但是一个非常好的建议,谢谢!这对hubspot有效吗?^^完美!这正是我要找的!你太棒了!最后一件事。lin可能吗如果所有复选框都被取消选中,k是否会再次消失?如果不是,则不会太麻烦,但如果可能的话,它会更干净。太棒了!两个工作选项!@scarabaeus以不同的方式实现了,但也实现了完美。非常棒。谢谢!:DP.s。URL结构是重力表单的先决条件。它们的查询字符串都是逗号se准备好了。但是一个非常好的建议,谢谢!这对hubspot有效吗?请注意,html中重复的
    id=“selected”
    无效。id必须是唯一的:)请注意,html中重复的
    id=“selected”
    无效。id必须是唯一的:)