为何获取不到id?

zhaojunwww 2011-08-15 03:37:02
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
</HEAD>
<BODY>
<div>
<p> xxxxxxxxxxxxxxxxx </p>
<span id="x">1<!--这里的1就是从数据库读取的id--></span> <span style="display:none;" class="af">
<form>
<textarea style="width:300px;height:100px; margin:3px 0 0 20px; border:#C90 1px solid;" id="te"></textarea>
<input type="submit" value="提交" id="add">
</form>
</span><span class="reply"><a href="#" >回复</a></span> </div>
<div>
<script type="text/javascript">
$(document).ready(function(){

$(".reply").click(function(){
$(".af").css({'display':'block'})
})
$("#add").click(function(){
var n=$("#x").val();
alert(n);
var text=$("#te").val();
alert(text);
})

</script>
</BODY>
</HTML>

问题:这个问题困扰很久了 为何就不能获取到id等于1呢?大家帮帮那个忙 谢谢!
...全文
190 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
谢谢 id是能取到了 但用的是js的方法 不能和jquery统一 这岂不是头疼医头了
curarchy 2011-08-15
  • 打赏
  • 举报
回复
“没反应啊”

抱歉,脚本写错了

<script type="text/javascript">
var addClicked =function(obj){
alert($(obj).val());
}
</script>

<body>
<input id="uid" type="text" style=" width:10px;" name="uid" value="3" onclick="addClicked(this);">
</body>
最后一个菜鸟 2011-08-15
  • 打赏
  • 举报
回复
要想获取id的值只能用html或text用val是无法获取值得
val text html三个函数没有弄清楚
val只对有value属性的dom元素有效
text只要元素包含文本元素,就返回此文本元素
html自然是知道用dom元素的innnerhtml属性
所以要想取得id的值只有text 和html可用
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 curarchy 的回复:]

JScript code

//html
<input type="text" style=" width:10px;" name="uid" value="<?=$row[0];?>" id="uid" onclick="addClicked(this);"/>

//js
addClicked:function(obj){
alert($(obj).val());
}


试下……
[/Quote]
没反应啊
curarchy 2011-08-15
  • 打赏
  • 举报
回复

//html
<input type="text" style=" width:10px;" name="uid" value="<?=$row[0];?>" id="uid" onclick="addClicked(this);"/>

//js
addClicked:function(obj){
alert($(obj).val());
}

试下这个能行么。。。
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 t5500 的回复:]

这样当然只能取到一条啊,又没有写循环。
JScript code
$("#add").click(function() {
$("input[name='uid']").each( function() {
alert($(this).val());
});
});
[/Quote]
回复第三条才把第三条的隐藏id给找出来 不需要一次把id都给找出来吧 但偏偏点击第三条回复留言的时候 这个id=3就取不出来 回复第一条留言这个id=1倒是能找出来 其他的都不行呢
xiage 2011-08-15
  • 打赏
  • 举报
回复
11楼正解,是选择器的问题.

(1).选择器
var n=$("input[name='uid']").val();
(2).html();
html(),是应用于div ,span,这样的容器标签,input要向取值的话,应该用val().


乌镇程序员 2011-08-15
  • 打赏
  • 举报
回复
这样当然只能取到一条啊,又没有写循环。
$("#add").click(function() {
$("input[name='uid']").each( function() {
alert($(this).val());
});
});
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 t5500 的回复:]

JScript code
//上面写错了,用.val()取值,你写的选择器有问题。
var n=$("input[name='uid']").val();
alert(n);
[/Quote]
很奇怪 只能获取到第一条的留言id while循环按道理把所有的留言id都进行赋值了吧
乌镇程序员 2011-08-15
  • 打赏
  • 举报
回复
//汗,上面这样写可能也有问题,再改一下
//最好给这个文本框加个id属性
var n=$("input[name='uid']:eq(0)").val();
alert(n);
乌镇程序员 2011-08-15
  • 打赏
  • 举报
回复
//上面写错了,用.val()取值,你写的选择器有问题。
var n=$("input[name='uid']").val();
alert(n);
乌镇程序员 2011-08-15
  • 打赏
  • 举报
回复
var n=$("input[name='uid']").html();
alert(n);
curarchy 2011-08-15
  • 打赏
  • 举报
回复
完整的里面
把$("#add").click(function(){
var n=$("uid").html();
alert(n);
})
改为
var n=$("#uid").val();
试试
乌镇程序员 2011-08-15
  • 打赏
  • 举报
回复
你写的PHP代码很有可能没有执行,像这种短标签风格(<?)需要在配置文件中启用才行。
php.ini
short_open_tag = On
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 t5500 的回复:]

看一下生产的html源代码中value属性有没有值。

value="<?=$row[0];?>改为value="<?php echo $row[0]; ?>"
[/Quote]
不是这个原因 value="<?=$row[0];?>改为value="100" 即使这样还是获取不到
乌镇程序员 2011-08-15
  • 打赏
  • 举报
回复
看一下生产的html源代码中value属性有没有值。

value="<?=$row[0];?>改为value="<?php echo $row[0]; ?>"
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
#container {
width:1000px;
margin:0 auto;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".reply").each(function(){
$(this).click(function(){
$(".af").each(function(){$(this).css({'display':'none'})})
$(this).parent().find('.af').fadeIn('slow')
})
})
$("#add").click(function(){


var n=$("uid").html();
alert(n);

})
})
</script>
</head>
<body>
<div id="container">
<?
$mysqli = new mysqli("localhost", "root", "123456", "test");
if ($result = $mysqli->query("select * from book order by id desc limit 0,10"))
{
while($row = $result->fetch_array())
{

?>
<div style=" border-bottom:#CCC 1px solid; margin: 0 auto;">
<p>
<?=$row[1]?>
</p>
<input type="text" style=" width:10px;" name="uid" value="<?=$row[0];?>" id="uid"/>
<span class="reply"><a href="#" >回复</a></span>
<div style="display:none;" class="af">
<form>
<textarea style="width:300px;height:100px; margin:3px 0 0 60px; border:#C90 1px solid;" name="replyContent" id="replyContent"></textarea>
</br>
<div style=" margin-left:150px; margin-top:10px;">
<input value="提交" type="submit" style="padding:2px; border:#C60 1px solid;" id="add"/>
<input value="取消" type="submit" style="padding:2px; border:#C60 1px solid;" id="del"/>
</div>
</form>
</div>
</div>
<?
}
?>
<?
}
$result->close();
$mysqli->close();
?>
</div>
<!--end#container-->
</body>
</html>

这个是完整的 就是获取不到id 嘛原因?
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mubeibei 的回复:]

var n=$("#x").html();
alert(n);
var text=$("#te").html();
alert(text);
[/Quote]
value="<?=$row[0];?> 也就是说隐藏域的id值是从数据库里读出的id
zhaojunwww 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 curarchy 的回复:]

var n=$("#x").val(); 改为
var n=$("#x").html();试试看
[/Quote]
其实我的源码是这个
<input type="text" style=" width:10px;" name="uid" value="<?=$row[0];?>" id="uid"/>
必须的用val() 但就是获取不到id
MuBeiBei 2011-08-15
  • 打赏
  • 举报
回复
var n=$("#x").html();
alert(n);
var text=$("#te").html();
alert(text);
加载更多回复(1)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧