javascript – 如何从特定事件目标获取数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何从特定事件目标获取数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含9317字,纯文字阅读大概需要14分钟。
内容图文
我正在尝试使用我的列表中的单击事件来提取街道的名称,使用AJAX成功回调获取地址数据的整个过程完美地运行我添加了一个成功的客户对话框,其中包含他点击的街道信息.
但是在成功对话的街头表演时,我想获得街道名称并将其传输到隐藏的输入,我希望使用该街道的名称,以便将来客户点击按钮时复制表单的地址AJAX,可以使用此街道的名称在我的API中进行搜索,以便返回此操作返回该地址的扩展版本到我的表单.
但我无法思考或找到任何关于如何仅提取客户端在列表中单击的街道名称的任何内容,只有他可以返回给我的是使用来自我的API的路径在列表分组开始时生成的原始元素包含所有注册的地址
我已经尝试通过生成的元素的类获取数据,但没有结果..我曾想过尝试将ID添加到被点击的地址但我在jQuery文档中找不到任何可以帮助我的东西.
我的elements.js
$(document).ready(function(){
// Setup Modal
$('#openSearchAddress').click(function() {
// Start Modal
$('#modalSearchAddress')
.modal('show')
;
});
$('#sendSearchAddress').click(function() {
$.ajax({
type: "GET",
dataType: "JSON",
url: "https://****-api.herokuapp.com/api/itapetininga-street-last-three-searcheds?access_token=7Z****",
success: function (finalData) {
// Running test
console.log(finalData);
if (finalData) {
// var dd = JSON.parse(result);
// addressStreet(finalData[0].addressStreet)
// name: finalData[0].addressStreet
// Print Results
var options = {
valueNames: ['addressStreet', 'neighborhoodStreet']
};
// Example One
var values = finalData.map(function(finalDatum) {
return {
addressStreet: finalDatum.addressStreet,
neighborhoodStreet: finalDatum.neighborhoodStreet,
};
});
var userList = new List('users', options, values);
// Start Selected Address With Event Delegation
$("#target_ul").on("click", "li", function(event) {
// Prevent Redirect In Click
event.preventDefault();
// Load Options For Notification
var placementFrom = "top";
var placementAlign = "center";
var colorName = "bg-light-green";
// Set Options For Notification
showNotification(colorName, null, placementFrom, placementAlign);
// Start New Notification
function showNotification(colorName, text, placementFrom, placementAlign, animateEnter, animateExit) {
if (colorName === null || colorName === '') { colorName = 'bg-black'; }
if (text === null || text === '') { text = 'Endere?o que você selecionou é '; }
if (animateEnter === null || animateEnter === '') { animateEnter = 'animated fadeInDown'; }
if (animateExit === null || animateExit === '') { animateExit = 'animated fadeOutUp'; }
var allowDismiss = true;
// Start Modern Structure For Notification
$.notify({
message: text
}, {
type: colorName,
allow_dismiss: allowDismiss,
newest_on_top: true,
timer: 1000,
placement: {
from: placementFrom,
align: placementAlign
},
animate: {
enter: animateEnter,
exit: animateExit
},
template: '<div data-notify="container" class="bootstrap-notify-container alert alert-dismissible {0} ' + (allowDismiss ? "p-r-35" : "") + '" role="alert">' +
'<button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button>' +
'<span data-notify="icon"></span> ' +
'<span data-notify="title">{1}</span> ' +
'<span data-notify="message">{2}</span>' +
'<div class="progress" data-notify="progressbar">' +
'<div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>' +
'</div>' +
'<div id="selectedAddress"></div>' +
'<a href="javascript:void(0);" class="alert-link" id="selectedSearchAddress" hidden></a>' +
'<a href="{3}" target="{4}" data-notify="url"></a>' +
'</div>'
}
);
}
// Add Selected Address In Notification
var selectedAddress = $( this ).text();
console.log('Selected address is: ', selectedAddress);
if (event.target && event.target.nodeName === 'LI') {
let item = event.target;
$("#selectedAddress").html(item.innerHTML);
}
// Prepare Input Hidden For Import Data To Form
// Add Informations About Selected Address
$('#selectedSearchAddress').text(selectedAddress);
});
// Print Variable Contain Native Data From All Street In List
console.log(values);
}
}
});
});
我在EJS模板中的列表
<div id="modalSearchAddress" class="ui small modal" style="margin-bottom: 53px !important;margin-top: 60px !important;margin-left: auto !important;margin-right: auto !important;">
<div class="content" style="padding: 0rem !important;">
<div class="row" style="margin-left: -30px !important; margin-right: -30px !important;">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div id="users">
<div class="col-xs-12">
<div class="card" style="margin-bottom: 0px !important;">
<div class="header bg-indigo">
<h2 class="align-center">
Pesquisar Endere?o
<small>Aqui você pode encontrar qualquer endere?o cadastrado em seu catálogo...</small>
</h2>
</div>
</div>
</div>
<div class="col-xs-12">
<div style="background: #eeeeee; padding-top: 10px; padding-left: 10px; padding-right: 10px; padding-bottom: 3px;">
<div class="input-group" style="margin-bottom: 0px !important;">
<div class="form-line">
<input type="text" class="form-control search align-center" id="nameSearchAddress" placeholder="Pesquise por endere?os cadastrado em seu catálogo...">
</div>
</div>
</div>
</div>
<div class="col-xs-12" >
<ul class="list list-search-address" id="target_ul">
<li>
<h3 class="addressStreet">Test</h3>
<p class="neighborhoodStreet">Test</p>
</li>
</ul>
</div>
<div class="col-xs-12">
<div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
<a href="javascript:void(0);" class="btn bg-indigo waves-effect sort" role="button" data-sort="name">CLASSIFICAR POR NOME</a>
<a href="javascript:void(0);" class="btn bg-indigo waves-effect" role="button" id="sendSearchAddress">ATUALIZAR</a>
<a href="javascript:void(0);" class="btn bg-indigo waves-effect" role="button">COPIAR PARA FORMULARIO</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
非常感谢你帮助我,我试着这两天很长时间……
Ajax返回的成功数据(finalData)
[{
"addressStreet": "Rua Baltazar Lorenzetto",
"neighborhoodStreet": "Jardim Brasil",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "18214-490",
"cityStreet": "Itapetininga",
"stateStreet": "S?o Paulo",
"id": "5a90b6b5c59ccc00148766b1"
}, {
"addressStreet": "Rua Doutor Campos Sales",
"neighborhoodStreet": "Centro",
"latStreet": "-23.588984",
"lngStreet": "-48.050931",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Itapetininda",
"stateStreet": "S?o Paulo",
"id": "5a94332d03d2a4001407a07c"
}, {
"addressStreet": "Rua José de Almeida Carvalho",
"neighborhoodStreet": "Centro",
"latStreet": "-23.5785848",
"lngStreet": "-48.027667",
"postalCodeStreet": "18200-354",
"cityStreet": "Itapetininga",
"stateStreet": "S?o Paulo",
"id": "5a948a0f03d2a4001407a07d"
}, {
"addressStreet": "Esperando endere?o...",
"neighborhoodStreet": "Esperando bairro...",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Esperando cidade",
"stateStreet": "Esperando estado",
"id": "5a9eb0e4a086fb0014b65b45",
"term": "Rua Ba"
}, {
"addressStreet": "Esperando endere?o...",
"neighborhoodStreet": "Esperando bairro...",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Esperando cidade",
"stateStreet": "Esperando estado",
"id": "5a9eb0e5a086fb0014b65b46",
"term": "Rua Bal"
}, {
"addressStreet": "Esperando endere?o...",
"neighborhoodStreet": "Esperando bairro...",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Esperando cidade",
"stateStreet": "Esperando estado",
"id": "5a9eb0e7a086fb0014b65b47",
"term": "Rua Balta"
}, {
"addressStreet": "Esperando endere?o...",
"neighborhoodStreet": "Esperando bairro...",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Esperando cidade",
"stateStreet": "Esperando estado",
"id": "5a9eb135a086fb0014b65b4b"
}, {
"addressStreet": "Esperando endere?o...",
"neighborhoodStreet": "Esperando bairro...",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Esperando cidade",
"stateStreet": "Esperando estado",
"id": "5a9eb136a086fb0014b65b4c"
}, {
"addressStreet": "Esperando endere?o...",
"neighborhoodStreet": "Esperando bairro...",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Esperando cidade",
"stateStreet": "Esperando estado",
"id": "5a9eb136a086fb0014b65b4d"
}, {
"addressStreet": "Esperando endere?o...",
"neighborhoodStreet": "Esperando bairro...",
"latStreet": "Esperando latitude",
"lngStreet": "Esperando longitude",
"postalCodeStreet": "Esperando código postal",
"cityStreet": "Esperando cidade",
"stateStreet": "Esperando estado",
"id": "5a9eb15aa086fb0014b65b50"
}]
单击列表后,我的控制台中的响应
elements.js:85 (10)?[{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
elements.js:189 (10)?[{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
elements.js:174 Selected address is:
Rua Baltazar Lorenzetto
Jardim Brasil
解决方法:
试试这个
$("#target_ul").on("click", "li", function(event) {
var self = $(this); // Storing the reference of the element
...................... // Your code as is
......................
// Add Selected Address In Notification
var selectedAddress = $( self ).text(); // Using the reference of the stored element
....................... // Your code as is
.......................
内容总结
以上是互联网集市为您收集整理的javascript – 如何从特定事件目标获取数据全部内容,希望文章能够帮你解决javascript – 如何从特定事件目标获取数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。