单击时如何获取值(循环值)
How to get the value when clicking (loop value)?
我正在创建从数据库中获取值的网页,会显示几个值。在每个值上,它都会有文本区域和下面的推文按钮。我希望当用户点击推特按钮时,它会从该按钮上方的文本区域获取值。目前,当用户点击按钮Tweet(所有按钮)时,它将只捕获第一个文本区域的值。
这是我的代码
PHP
while($row=mysql_fetch_array($sql)){
echo "<textarea style='margin-bottom:10px;' id='text_tweet' name='text_tweet'
cols='61' rows='5'></textarea>";
echo "<a style='text-decoration: none; color: #000000;' id='tweet'
href='#'>Tweet</a>";
}
Javascript
$("#tweet").bind('click', function(){
var text_tweet = $("#text_tweet").val();
if(text_tweet==""){
alert("Please fill out something");
}
else{
save_tweet(text_tweet);
}
});
有人能帮我解决这个问题吗?
提前感谢。
您需要区分正在循环的每一行。这里有一个替代方法,假设$row
有一个id
。
PHP
while ($row = mysql_fetch_array($sql)) {
echo "<textarea style='margin-bottom:10px;' id='text_tweet_" . $row['id'] . "' name='text_tweet_" . $row['id'] . "' cols='61' rows='5'></textarea>";
echo "<a onclick='doSomething(" . $row['id'] . ")' style='text-decoration: none; color: #000000;' id='tweet_" . $row['id'] . "' href='#'>Tweet</a>";
}
JS-
function doSomething(id) {
var text_tweet = $("#text_tweet_" + id).val();
if (text_tweet == "") {
alert("Please fill out something");
} else {
save_tweet(text_tweet);
}
}
首先,如果您要尝试在一个页面上获取多个元素,则不能使用id
,因为它是为单个元素保留的-不应该有多个元素具有相同的id
首先,我会更改它,使每个元素上都有一个名为"tweet"的类。您还需要在它周围添加jQuery $(function(){})
。该函数告诉浏览器在页面和所有元素完全加载之前不要运行该JavaScript。
我还将确保在这两个元素周围添加一个容器,这将使您更容易实际获取链接旁边的文本区域。
以下是我的处理方法:
while($row=mysql_fetch_array($sql)){
echo "<div>";
echo "<textarea style='margin-bottom:10px;' id='text_tweet' name='text_tweet'
cols='61' rows='5'></textarea>";
echo "<a style='text-decoration: none; color: #000000;' class='tweet'
href='#'>Tweet</a>";
echo "</div>";
}
然后是javascript:
$(function() {
$(".tweet").bind('click', function(){
var text_tweet = $(this).parents('div:first').find("textarea").val();
if(text_tweet==""){
alert("Please fill out something");
}
else{
save_tweet(text_tweet);
}
});
});
我们之所以使用$(this).parents('div:first').find("textarea").val()
,是因为我们只想获取包含div的文本区域;否则,jQuery将获取数组中的第一个textarea值。
相关文章:
- 如何通过循环获取JavaScript dom中元素的多个属性的值
- 使用 javascript 和循环获取所有正文元素
- 通过在jquery中循环获取值
- Javascript 循环 + 对象问题:如何使用循环获取对象中的必需项
- SVG
文本循环获取数组的最后一个元素 - YouTube,在PlayerReady上,使用for循环获取数组中与单击箭头位置匹配的视频ID并播放
- 使用for循环获取javascript错误,即使它'正在工作
- 通过ID循环获取元素
- Javascript-使用对象名称的数组,然后使用循环获取属性
- 为jsp中的每个循环获取内部隐藏字段的值
- Javascript for循环获取订单详细信息
- 使用Jquery循环获取表中的输入值
- 如何在JavaScript (Firefox)中不使用for-in循环获取对象的所有属性
- 使用循环获取每个子元素的样式属性
- JavaScript:使用一个文本框的值作为循环获取第二个文本框中的值的基础
- 将Java映射转换为javascript映射并循环获取键/值
- 如果不是第一层,循环获取父HTML值
- 使用splice和for循环获取移除的原始数组
- Javascript循环获取选中复选框的名称
- 使用for循环获取数组内的值