gpt4 book ai didi

javascript - jQuery .click 在 if/else 语句中不起作用

转载 作者:行者123 更新时间:2023-11-28 02:29:12 26 4
gpt4 key购买 nike

我的应用程序中有一个到 Foursquare API 的连接。用户可以在框中键入内容以开始搜索 field ,也可以单击两个 field 链接之一以使用这两个 field 之一填充同一选择框。我无法让用户单击两个地点之一。这是我的代码:

JS:

function venueFormatSelection(venue) {

if ( venue.name && venue.location.address ) {
// if a user starts typing into a box, venue.name and venue.address values will pop up for them to select from. OR in the 'else' case, they can click one of either two links
else {

$("#bigdrop_set").click(function () {
return $('#bigdrop_set').attr('venue_name')
})

$("#bigdrop_set_2").click(function () {
return $('#bigdrop_set_2').attr('venue_name_2')
})

}
}

HTML:

<span class="which_venue" id="bigdrop_set" venue_name='foo' venue_data='FOO'><%= link_to(FOOOOO) %></span>

<span class="which_venue" id="bigdrop_set_2" venue_name_2='bar' venue_data_2='BAR'><%= link_to(BARRRR) %></span>

由于某种原因,“点击填充”JS 仅在仅包含一个“返回”行而不包含 .click 函数时才有效:

return $('#bigdrop_set').attr('venue_name')

我的“else”语句中的代码有什么问题?谢谢!

最佳答案

 $(".bigdrop_set").click(function () {
return $('#bigdrop_set').attr('venue_name')
})

应该是:

$("#bigdrop_set").click(function () {
return $('#bigdrop_set').attr('venue_name')
})

当您选择 ID 为 bigdrop_set 的元素而不是类为 bigdrop_set 的元素时。 ID 应该是唯一的,在您的代码中您有重复的 bigdrop_set ID,应该更改。

此外,我建议将 click 元素绑定(bind)在 $(document).ready() 函数上,而不是在 venueFormatSelection 函数中。

从点击函数返回值也没有多大意义。直接在函数中操作该值或将其放入另一个函数本身,而不是放在 click 事件上。

例如:

function alertVenue(venue) {
alert(venue)
}

$("#bigdrop_set").click(function () {
var venue = $('#bigdrop_set').attr('venue_name')
alertVenue(venue);
})

关于javascript - jQuery .click 在 if/else 语句中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14461313/

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