如何在单击时获得目标的名称并将其值分配给另一个变量
how to get the name of the target on click and assign the value to another variable?
所以我有一个空变量
var pName= null;
每次点击图像时我都希望变量'pName'更改为该图像的名称
$(document).ready(function(){
$('img').on('click', check)
});
function check(){
pName == target.name.value;
console.log('pName');
}
现在我想把这个变量的值放入一个隐藏的形式(或任何其他方式,如果你建议的话),在php中选择它,并将变量"$pName"的值(在php中)更改为隐藏形式的值。
<label><input type="hidden" name="pNameChange" value=""></label>
我想在每一页上都这样做。我的代码似乎不工作。
编辑
我有一个变量,我使用在每个页面$pName (php)。我希望它能动态更改为您单击的图像的名称。我不知道我这样做是否正确。
Edit2
这是我的项目php文件:
<?php
$newRecord = null;
$pName = "kkk";
$db_connection = mysqli_connect('localhost','root','',"project_online_planner");
if (!$db_connection){
die('Failed to connect to MySql:'.mysql_error());
}
//insert into database
if(isset($_POST['insertComments'])){
include('connect-mysql.php');
$username = $_POST['username'];
$comment = $_POST['comment'];
$sqlinsert = "INSERT INTO user_comments (username, comment, project) VALUES ('$username', '$comment', '$pName')";
if (!mysqli_query($db_connection, $sqlinsert)){
die('error inserting new record');
}
else{
$newRecord = "1 record added";
}//end nested statement
}
//text from database
$query="SELECT * FROM user_comments where project = '$pName' ";
$results = mysqli_query($db_connection,$query);
$intro=mysqli_fetch_assoc($results);
$query2="SELECT * FROM project where name = '$pName' ";
$results2 = mysqli_query($db_connection,$query2);
$intro2=mysqli_fetch_assoc($results2);
?>
这里我使用$pName作为项目的名称。我项目中的每张图片都有它们所在项目的名称。我试图动态地改变变量$pName的值为什么图像被点击。
这是我所有项目的PHP文件:
<?php
$pName =
$db_connection = mysqli_connect('localhost','root','',"project_online_planner");
if (!$db_connection){
die('Failed to connect to MySql:'.mysql_error());
}
$query="SELECT * FROM project ";
$results = mysqli_query($db_connection,$query);
$intro=mysqli_fetch_assoc($results);
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Project planner online</title>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="ppo.js"></script>
<link rel="stylesheet" href="ppo.css"/>
</head>
<body>
<div id="bgNav">
<nav id="nav">
<a href="index.php">Home</a>
<a class="rightNav" href="register.php">Register</a>
<a class="rightNav" href="login.php">Log in</a>
</nav>
</div>
<h2 class="titlePage">All projects</h2>
<div id="hugeTile">
<?php
while($row = mysqli_fetch_array($results))
{
$project = $row["project"];
echo "<div class='allProjectsWrapper'>";
echo nl2br("<div class='allProjectsTitle'>" . $row['name'] . "</div>");
echo nl2br("<div class='project'>" ."<img name='"$project'" width='240px' height='170px' src='". $row['image'] ."'/>". "</div>");
echo "</div>";
}
?>
</div>
<form>
<label><input type="hidden" name="pNameChange" value=""></label>
</form>
像这样使用
$('img').click(function(){
pname= $(this).attr("name");
});
确保全局定义var,从图像中获取href
属性,然后根据其名称设置输入,因为那里没有ID:
<script type="text/javascript">
var pName = '';
$(document).ready(function(){
$('img').on('click', function(){
pName = $(this).attr('href');
$("input[name=pNameChange]").val(pName);
})
});
</script>
this
在本地作用域中将是来自DOM的图像元素。
你需要解析php中发送的href attr因为它会包含整个img url,除非你使用自定义属性或将名称放入图像id或诸如此类:
<?php
$segments = explode('/', $pName);
if(!empty($segments)) {
$length = count($segments);
$img_name = $segments[$length-1];
}
?>
首先为隐藏字段添加ID
<label><input type="hidden" name="pNameChange" id="pNameChange" value=""></label>
然后你可以选择像这样的图像名称
$('img').click(function()
{
path = $(this).attr('src').split(''/');
$img_name = path[path.length-1];
$('#pNameChange').val($img_name); //Changing the pNameChange value
});
如果你只是想在点击图片后改变"pNameChange
"的值,你不需要PHP。
同样,当你做
pName == target.name.value;
它不赋值,它使用比较。
=
用于赋值。
==
用于比较
在你的check()函数中使用这个:
$("#pNameChange").val(pname);
和不要忘记添加id "pNameChange"到你的输入
<input type="hidden" id="pNameChange" name="pNameChange" value="">
相关文章:
- 在运行时使用预先确定的对象分配变量
- 重新分配变量和重新定义之间的性能差异
- Javascript:在对象中分配变量时命名函数的好处
- Angularjs 控制器在服务方法返回之前从服务中分配变量
- 在 JavaScript 中的 for 循环中重新分配变量的目的是什么?
- 按设置的数量拆分字符串,并为拆分分配变量
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- 有没有理由不在 while 块声明中分配变量
- JSON - 访问 JSON 数组并分配变量
- Angular2 火力基地检索并分配变量
- 是否可以在运行依赖项之前在 gulp 任务中分配变量
- 在 JS 中的 for 循环中重新分配变量是什么意思
- 使用多种组合分配变量的最佳方法是什么
- 使用函数从字符串中分配变量名称
- 如何调用chrome.storage.sync.get并在页面加载时分配变量
- 在JavaScript中用冒号分配变量的语法有效吗
- 带有单选按钮的If语句不分配变量
- 正在从内部回调中分配变量
- Javascript在匿名函数中分配变量的值
- 使用jQuery分配变量类型时出错