javascript - JQuery 将字符串转换为链接

标签 javascript jquery string href

我有 3 个选择字段,我想将这些字段的组合值用作网址的额外部分。

这是 HTML 代码:

<select name="cos" id="cos" size="5">
  <option value="/squad">Squad</option>
  <option value="/class">Class</option>
 </select>
<select name="color" id="color" size="5">
  <option value="/purpleblack">PurpleBlack</option>
  <option value="/redblack">RedBlack</option>
  <option value="/aquablack">AquaBlack</option>
</select>
<select name="year" id="year" size="5">
  <option value="/1984">1984</option>
  <option value="/1985">1985</option>
  <option value="/1986">1986</option>
</select>
<br/><br/>
<div id="output"></div>

和 JavaScript:

$("select").change(function () { 
   var str = "";
    $("select option:selected").each(function () {
    var id = $(this).parent().attr('name');
       str += $(this).attr('value');             
       });
      $("div#output").text(str);
    })
    .trigger('change'); 

https://jsfiddle.net/eZKUU/264/

现在它正在工作......在我在所有 3 个选择字段中选择一个选项后,我得到了类似 /squad/redblack/1985 的输出。 我想在 url 中使用此输出,因此它看起来像:

mysite.com/squad/redblack/1985

有没有简单的方法可以做到这一点?而且..仅在所有三个selectfields都选择了一个选项后才使链接可见?

最佳答案

您可以使用以下内容。添加一个 a 元素并将其隐藏直至完成。使用所选选项更新 a 元素 href 属性:

$("select").change(function() {
    var str = "";
    $("select option:selected").each(function() {
      var id = $(this).parent().attr('name');
      str += $(this).attr('value');
      //update href with selected values
      $("#mySite").attr("href", "mysite.com/" + str);
    });
    //keep anchor element hidden until all three options is selected
    $("#mySite").toggle($("#cos").find("option:selected").length > 0 && $("#color").find("option:selected").length > 0 && $("#year").find("option:selected").length > 0);
    $("div#output").text(str);
  })
  .trigger('change');
#mySite {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="cos" id="cos" size="5">
  <option value="/squad">Squad</option>
  <option value="/class">Class</option>
</select>
<select name="color" id="color" size="5">
  <option value="/purpleblack">PurpleBlack</option>
  <option value="/redblack">RedBlack</option>
  <option value="/aquablack">AquaBlack</option>
</select>
<select name="year" id="year" size="5">
  <option value="/1984">1984</option>
  <option value="/1985">1985</option>
  <option value="/1986">1986</option>
</select>
<br/>
<br/>
<div id="output"></div>
<a id="mySite" href="#">Redirect Link</a>

关于javascript - JQuery 将字符串转换为链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444718/

相关文章:

javascript - 从数组元素中删除换行符 Javascript

javascript - 外部 Javascript 中 JQuery 调用的范围问题?

javascript - jQuery 调整窗口大小时,如何使隐藏的 DIV Overlay 远离页面?

javascript - jQuery 动画高度不会每次都切换展开

jquery 切换 Accordion 无需插件

javascript - CORS - 服务器如何知道是否使用了 Jquery ajax 的 "withCredentials : true"?

Python:检查列表中是否有任何子字符串的优雅解决方案?

javascript - 如何检查是否溢出:hidden html class has cut out from view content using jquery or javascript?

c - 从fgets()输入中删除结尾的换行符

ios - NSString中的指数