【问题标题】:How to get a variable's output in html value?如何以html值获取变量的输出?
【发布时间】:2015-10-02 08:42:22
【问题描述】:

我有以下代码来显示上一页的最后路径。

var ref = document.referrer;
var pElements = ref.replace(/\/$/, '').split('/');
var last = pElements[pElements.length - 1]

现在我要做的是根据 last 的值更改新站点中的下拉列表,因为它包含 4 个值等于 last 的选项strong>(您可以来自页面 a、b、c 或 d)

$("[value='last']").attr('selected',true)

我试过了,但下拉菜单不会根据 last

更改选择

希望你明白我的意思……对不起我的英语不好。但我只想在最后一个代码片段中输出 last,就像我来自 a 时,代码看起来像:

$("[value='a']").attr('selected',true)

并且下拉菜单会选择 a

【问题讨论】:

  • 并使用.prop('selected', 'true'); 而不是'.attr('selected',true)'
  • 不起作用 - 控制台输出 [] 。当我手动输入时,attr-way 有效。可以区分大小写吗?
  • 哦!它区分大小写……现在我如何更改 $last 的输出,以便第一个字符为大写?

标签: javascript jquery html-select dropdown


【解决方案1】:

要设置select 元素的选定选项,请使用val()。试试这个:

$("select").val(last);

显然,您可能需要使选择器更具体一些以满足您的需要。

【讨论】:

  • 当我这样做时,我的下拉菜单变为空白
  • last 变量中的值是否与您的select 中的option完全匹配?查看您的 HTML 将有助于诊断问题。
  • 是我的错,不知道下拉菜单在这件事上是区分大小写的。
  • 嘿,罗里,对不起,我选择了 binderbound 的答案,因为他给了我一个解决方案来解决我在区分大小写的问题上遇到的问题。您的回答也有效,请不要生气:)
【解决方案2】:

在您的选择器$("[value='last']") 中,您没有评估last,您实际上是在选择值为"last" 的选项。

相反,让您的选择器采用 last 的实际值。

$("[value='"+last+"']")

重要提示 - 您需要通过事先清除该属性来确保所有其他选项都没有选中的属性。如果您在选择元素上使用.val(last),jQuery 将为您完成此操作。

【讨论】:

  • 嘿,你能告诉我如何将我的+最后一个+的第一个字符更改为大写吗?我猜下拉菜单区分大小写,因为它包含首字母大写的选项,例如 Test 而不是 test
  • 我建议更改您需要的值,使第一个字符为小写。但如果你不能,那么你可以在你的选择器中使用它之前做last = last[0].toUpperCase() + last.substring(1)。这假设您的字符串至少有 2 个字符长,如果值始终是路径,这应该足够安全。
  • Woaaa 好激动 :) 终点就在眼前!但是你写了ToUpperCase,应该是toUpperCase
  • 我选择您的答案作为正确答案。由于两个答案(您和 Rory 的)都有效,因此很难做出决定 - 但对我来说,您的奖励答案帮助我解决了我的问题!谢谢伙计,我欠你一杯啤酒(下次你来德国时,给我写信:p)
  • 哈哈,当然-下次我在北半球
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-17
相关资源
最近更新 更多