gpt4 book ai didi

javascript - 在javascript中传递包含空格的字符串

转载 作者:行者123 更新时间:2023-11-28 15:52:33 24 4
gpt4 key购买 nike

我有一个像这样的 div 类,想要调用 setlocation 函数来设置文本框中的状态值

<div class="overview over_widt">
<ul>
<li class="auto" title="All India"></li>
{% for state_obj in state_list %}
<li name="state" class="auto" title="{{state_obj.name}}"><a href="#{{state_obj.id}}" onclick=javascript:setlocation("{{state_obj.name}}")> {{ state_obj.name }}</a></li>
{% endfor %}
</ul>

我的java脚本函数

function setlocation(name){
//alert(name);
$('#id_autocomplete').val(name);
document.getElementById('city_state').style.display="none"
}

和我的文本框

<input type="text" class="text2" name="location" id="id_autocomplete" placeholder="Enter Location" onfocus="show_div();" onkeyup="div_autocomplete()"/>

问题是我有一些状态中有“空格”,并且传递这些参数会产生问题。我也尝试传递对象,就像

onclick=javascript:setlocation("{{state_obj}}")

但这也行不通。

最佳答案

您必须将 HTML 属性值放在引号中:

onclick="setlocation('{{state_obj.name}}')"

否则带有空格的值会弄乱你的 HTML。如果不使用引号,则只有下一个空格之前的字符被视为值的一部分。所以如果生成的 HTML 是

onclick=setlocation("foo bar")

然后您将拥有一个值为 setlocation("foo) 的属性 onclick 和一个 boolean 属性 bar") (虽然这可能是无效的,但我认为属性名称不能包含 "))。

但实际上,您可以使用event delegation,而不是使用内联事件处理程序。或any other way of binding event handlers .

关于javascript - 在javascript中传递包含空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19971351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com