Javascript Event.target.value返回空字符串或空字符串
我正在为学校的一项作业创建一个天气仪表盘,但最后一点我有问题。基本上,用户将搜索一个特定的城市,作为回报,将获得有关该城市天气的所有数据和信息。我目前一直在思考如何正确使用event.target.value。当用户搜索某个城市时,我会将该城市的名称附加到我的网页中,并将该名称转换为一个按钮。单击按钮后,我希望它只返回城市名称。但是,我得到了一个似乎是空字符串的内容,或者它没有识别出它的目标值?下面是我的代码:Javascript Event.target.value返回空字符串或空字符串,javascript,jquery,dom-events,Javascript,Jquery,Dom Events,我正在为学校的一项作业创建一个天气仪表盘,但最后一点我有问题。基本上,用户将搜索一个特定的城市,作为回报,将获得有关该城市天气的所有数据和信息。我目前一直在思考如何正确使用event.target.value。当用户搜索某个城市时,我会将该城市的名称附加到我的网页中,并将该名称转换为一个按钮。单击按钮后,我希望它只返回城市名称。但是,我得到了一个似乎是空字符串的内容,或者它没有识别出它的目标值?下面是我的代码: let cities = []; function saveCity() {
let cities = [];
function saveCity() {
event.preventDefault();
let city = $('.form-control').val().trim()
cities.push(city)
$("#newCity").append('<ul><button class="btn btn-primary">' + city + '</button></ul>');
localStorage.setItem("cities", JSON.stringify(cities))
}
function appendStorage(){
cities = JSON.parse(localStorage.getItem('cities'));
for (let index = 0; index < cities.length; index++) {
const element = cities[index];
$("#newCity").append('<ul><button class="btn btn-primary">' + element +
'</button></ul>');
}
$(".cities").click(function(event) {
let cityName = event.target.value
console.log('clicked')
console.log(cityName)
})
}
$(".cities").click(function(event) {
let cityName = event.target.value
console.log(cityName)
})
我得到一个console.log:
<button class="btn btn-primary">London</button>
伦敦
我可以进一步解释,如果我问的不清楚,或者我可以上传更多的代码,如果需要的话。谢谢你的帮助 通常,您将
值
附加到输入
,选择
,文本区域
元素,基本上是用户输入元素,并使用值
获取它
可以使用value
属性为按钮添加值,该属性在您的案例中缺失
使用
$(event.target).text()获取按钮文本在您的示例中,您需要做的是提供您试图获取的值。您的按钮没有值,因此.value
将不返回任何内容
我在下面提供了一些例子:
//获取具有类“cities”值的单击元素
$(“.cities”)。单击(功能(事件){
让cityName=event.target.value
console.log('clicked')
console.log(cityName)
})
//使用.innerText获取单击按钮内的文本
$(“.get text”)。单击(函数(事件){
让cityName=event.target.innerText
console.log('clicked')
console.log(cityName)
})
有价值的伦敦
无价值的伦敦
伦敦如果您使用“<代码> E.Talk.Value”输入字段计算,也考虑用户输入可以被删除或空的情况。
因此,有必要使用if语句将变量归零,以便进行进一步的处理
让targetValue=e.target.value;
e、 target.value=0 | e.target.value==“”?(targetValue=0):(targetValue=e.target.value)
然后继续使用targetValue
你可能想考虑这个帖子:
按钮也可以有一个值。是的,我忽略了这个。Thanks@AnuragSrivastava这是一个快速解决方案。谢谢你的帮助!!啊,好的,我明白了。这澄清了很多。谢谢你的帮助!
<button class="btn btn-primary">London</button>