Javascript 如何在Jquery中的两个事件函数之间传递变量?
我想将字符串变量从一个jquery事件传递到另一个jquery事件。 关于我的问题,我搜索了一些关于堆栈溢出的问题和解决方案,但是我找不到一个与我面临的问题相关的解决方案。我使用PythonFlask和Neo4j图形数据库,使用Jquery和AJAX执行一些后端操作 下面是我的jquery代码Javascript 如何在Jquery中的两个事件函数之间传递变量?,javascript,jquery,Javascript,Jquery,我想将字符串变量从一个jquery事件传递到另一个jquery事件。 关于我的问题,我搜索了一些关于堆栈溢出的问题和解决方案,但是我找不到一个与我面临的问题相关的解决方案。我使用PythonFlask和Neo4j图形数据库,使用Jquery和AJAX执行一些后端操作 下面是我的jquery代码 <script type="text/javascript"> var asstName = ""; $('select#label_Name').change(funct
<script type="text/javascript">
var asstName = "";
$('select#label_Name').change(function(){
asstName = $('#label_Name').val();
console.log(asstName);
$.ajax({
url: '/get_asset',
data: asstName,
type: 'POST',
dataType: 'json',
}).done(function(data){
// console.log(data);
var print = "";
for (i=0; i < data['nodeList'].length; i++){
print += "<tr>" +
"<td>" + data['nodeList'][i]['Asset_Name'] + "</td>" +
"<td>" + data['nodeList'][i]['Asset_Manufacturer'] + "</td>" +
"<td><button id=" + data['nodeList'][i]['Asset_Name'] + ">" +
"<i style='color: red;' class='fa fa-trash'></i></button>" +
" " +
"<button id=" + data['nodeList'][i]['Asset_Name'] + ">" +
"<i style='color: blue;' class='fa fa-pencil'></i></button>" +
"</td>" +
"</tr>";
}
$('tbody#tBody').html(print);
})
});
$('#button').click(function(){
var delName = $(this).attr('id');
console.log(asstName);
$.ajax({
url: '/deleteNode',
data: JSON.stringify(delName),
dataType: 'json',
type: 'POST'
}).done(function(data){
console.log(data);
})
});
</script>
及
如何将字符串变量“asstName”传递给事件按钮click?我认为您可以在事件按钮click中直接获取asstName的值,而不是为select事件解析它们 为什么不在按钮单击事件中添加此代码
var asstName = $('#label_Name').val();
我认为您可以在事件按钮单击中直接获得asstName的值,而不是为select事件解析它们 为什么不在按钮单击事件中添加此代码
var asstName = $('#label_Name').val();
您可以使用以下
$('#label_Name').val()获取单击处理程序中的下拉列表值,而不是访问变量代码>
我的理解是,您只需要单击处理程序中的下拉列表值,而不是访问变量,您可以使用此$('#label_Name').val()获取单击处理程序中的下拉列表值代码>
我的理解是,您只需要单击处理程序中的下拉列表的值,就可以在更改选项列表并在单击按钮上订阅时发出事件(自定义事件)
例如:
设chnageEvent=new CustomEvent('valuechnaged',{detail:{
“价值”:,
“currentVal”:值
}});
文件调度事件(chnageEvent) 无论何时更改选项列表并在单击按钮时订阅,都可以发出事件(自定义事件)
例如:
设chnageEvent=new CustomEvent('valuechnaged',{detail:{
“价值”:,
“currentVal”:值
}});
文件调度事件(chnageEvent) 根据我的假设,以下是可能的解决方案
<script type="text/javascript">
var asstName = "";
$('select#label_Name').change(function(){
asstName = $('#label_Name').val();
console.log(asstName);
$.ajax({
url: '/get_asset',
data: asstName,
type: 'POST',
dataType: 'json',
}).done(function(data){
// console.log(data);
var print = "";
for (i=0; i < data['nodeList'].length; i++){
print += "<tr data-assetname="+asstName+">" + // added a new attr
"<td>" + data['nodeList'][i]['Asset_Name'] + "</td>" +
"<td>" + data['nodeList'][i]['Asset_Manufacturer'] + "</td>" +
"<td><button id=" + data['nodeList'][i]['Asset_Name'] + ">" +
"<i style='color: red;' class='fa fa-trash'></i></button>" +
" " +
"<button id=" + data['nodeList'][i]['Asset_Name'] + ">" +
"<i style='color: blue;' class='fa fa-pencil'></i></button>" +
"</td>" +
"</tr>";
}
$('tbody#tBody').html(print);
})
});
$('#button').click(function(){ // I assume this is the trash button click function. If yes, It wont work, because it is dynamically created element and you need to use $(document).on("click"). Also if the table has multiple row, then ID is duplicated.
var delName = $(this).attr('id');
asstName = $(this).closest('tr').attr('data-assetname');
console.log(asstName);
$.ajax({
url: '/deleteNode',
data: JSON.stringify(delName),
dataType: 'json',
type: 'POST'
}).done(function(data){
console.log(data);
})
});
</script>
var asstName=“”;
$('select#label_Name')。更改(函数(){
asstName=$('#label_Name').val();
console.log(asstName);
$.ajax({
url:“/get_asset”,
资料来源:asstName,
键入:“POST”,
数据类型:“json”,
}).完成(功能(数据){
//控制台日志(数据);
var print=“”;
对于(i=0;i
根据我的假设,以下是可能的解决方案
<script type="text/javascript">
var asstName = "";
$('select#label_Name').change(function(){
asstName = $('#label_Name').val();
console.log(asstName);
$.ajax({
url: '/get_asset',
data: asstName,
type: 'POST',
dataType: 'json',
}).done(function(data){
// console.log(data);
var print = "";
for (i=0; i < data['nodeList'].length; i++){
print += "<tr data-assetname="+asstName+">" + // added a new attr
"<td>" + data['nodeList'][i]['Asset_Name'] + "</td>" +
"<td>" + data['nodeList'][i]['Asset_Manufacturer'] + "</td>" +
"<td><button id=" + data['nodeList'][i]['Asset_Name'] + ">" +
"<i style='color: red;' class='fa fa-trash'></i></button>" +
" " +
"<button id=" + data['nodeList'][i]['Asset_Name'] + ">" +
"<i style='color: blue;' class='fa fa-pencil'></i></button>" +
"</td>" +
"</tr>";
}
$('tbody#tBody').html(print);
})
});
$('#button').click(function(){ // I assume this is the trash button click function. If yes, It wont work, because it is dynamically created element and you need to use $(document).on("click"). Also if the table has multiple row, then ID is duplicated.
var delName = $(this).attr('id');
asstName = $(this).closest('tr').attr('data-assetname');
console.log(asstName);
$.ajax({
url: '/deleteNode',
data: JSON.stringify(delName),
dataType: 'json',
type: 'POST'
}).done(function(data){
console.log(data);
})
});
</script>
var asstName=“”;
$('select#label_Name')。更改(函数(){
asstName=$('#label_Name').val();
console.log(asstName);
$.ajax({
url:“/get_asset”,
资料来源:asstName,
键入:“POST”,
数据类型:“json”,
}).完成(功能(数据){
//控制台日志(数据);
var print=“”;
对于(i=0;i
正如您所说,我做到了,我在按钮事件中添加了相同的按钮,但不起作用!!!我想传递我进入的助理名称。将“事件”更改为按钮。单击“事件”。!!正如你所说的,我在按钮事件中添加了相同的按钮,但不起作用!!!我想传递我进入的助理名称。将“事件”更改为按钮。单击“事件”。!!是的,这正是我打算做的。你能不能也提到当你点击按钮时抛出的错误。是的,这正是我打算做的。你能不能也提到当你点击按钮时抛出的错误。你能更详细地解释一下?谢谢每当下拉列表中有更改时,创建一个自定义事件,其中包含所需值的详细信息,并且您必须订阅