87,910
社区成员
发帖
与我相关
我的任务
分享
<!---下面只是示例,真正的记录表肯定要循环得到---->
<table cellpadding="0px" cellspacing="0px" border="0px" style="text-align:left; width:100%;">
<tr>
<td colspan="7"><h2>Car 1</h2></td>
</tr>
<tr>
<th width="30px"><p>No.</p></th>
<th width="120px"><p>Tank No.</p></th>
<th width="120px"><p>Departure</p></th>
<th width="120px"><p>Arrival</p></th>
<th width="70px"><p>Work No.</p></th>
<th colspan="2"></th>
</tr>
<tr><td colspan="7" style="padding-top:6px;"></td></tr>
<tr style="height:30px; valign="middle">
<td><p>1</p></td>
<td><p>RYCU9930357</p></td>
<td><p>AAAAAAA</p></td>
<td><p>BBBBBBB</p></td>
<td><p>1031239</p></td>
<td></td>
<td><input type="checkbox" class="checkbox" /></td>
</tr>
<tr><td colspan="7" style="padding-top:6px;"></td></tr>
<tr style="height:30px; valign="middle">
<td><p>2</p></td>
<td><p>RYCU9930357</p></td>
<td><p>AAAAAAA</p></td>
<td><p>BBBBBBB</p></td>
<td><p>1031239</p></td>
<td></td>
<td><input type="checkbox" class="checkbox" /></td>
</tr>
</table>
<tr style="margin-bottom:12px; margin-top:12px;">
<td style="background-color: #316C8C; border:1px solid #316C8C; border-radius:5px; padding:10px; color:#ffffff;">
<input type="submit" value="change" class="blue_btn">
</td>
</tr>
<?php
$news=array(
array('id'=>1,'title'=>'abc'),
array('id'=>2,'title'=>'def'),
array('id'=>3,'title'=>'ghi'),
array('id'=>4,'title'=>'jkl'),
);
?>
<!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" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<title>无标题文档</title>
</head>
<body>
<?php foreach (!empty($news)?$news:array() as $n):?>
<dl class="list_item">
<dd>
<input type="hidden" name="id" value="<?php echo $n['id'];?>" />
<a class="item_title" href="javascript:;"><?php echo $n['title'];?></a>
</dd>
</dl>
<?php endforeach;?>
<script type="text/javascript">
jQuery(function($){
$('.item_title').click(function(e){
e.preventDefault();
alert($(this).parent().find('input').val());
});
});
</script>
</body>
</html>
<?php
//下面是建立一个数组的数组,方便后面使用foreach
$news=array(
array('id'=>1,'title'=>'abc'), //数组包括两个字段:id和title
array('id'=>2,'title'=>'def'),
array('id'=>3,'title'=>'ghi'),
array('id'=>4,'title'=>'jkl'),
);
?>
<!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" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<title>无标题文档</title>
</head> <!--上面是一些基本引用和设置---->
<body> <!-这里的基本思路是:其实在每条记录前对于$id这个变量是隐藏的,但可供后面调用,高,实在是高!->
<?php foreach (!empty($news)?$news:array() as $n): ?>
<!--上面的foreach是调用数组news里面每个小数组,不过你用的格式和我给出的格式不一样---->
<dl class="list_item"> <!--查了之后,知道这个自定义标签---->
<dd>
<input type="hidden" name="id" value="<?php echo $n['id'];?>" /> <!-隐藏显示id->
<a class="item_title" href="javascript:;"><?php echo $n['title'];?></a>
<!-正常显示链接->
</dd>
</dl>
<?php endforeach;?> <!-foreach结束,问题一!!!!->
<!-js部分->
<script type="text/javascript">
jQuery(function($){ <!-这个$啥意思?->
$('.item_title').click(function(e){ <!-问题二!!!!->
e.preventDefault(); <!-问题三!!!!->
alert($(this).parent().find('input').val());
<!-问题四!!!!->
});
});
</script>
</body>
</html>
我是新手,有时候问的很细而且问很基本的事情,别介意。看了你的代码,一句话,思路实在高!我有几个细节问题:
问题一:程序我运行过,能运行,你的foreach写法肯定对,但为什么不是传统的{}这样呢?
问题二:我主要不理解这里。function(e)为什么function()里面有e,这个代表什么意思? 还有,根据后面语句,$('.item_title')显然也包括<input type=“hidden”.....>这部分,但在定义class为item_title时,不是应该指<a class="item_title" href="javascript:;">以及后面的内容么?怎么就包括<input...>了?还有,href="javascript:这个后面是否应该跟上js函数名称jQuery()么?
问题三:e.preventDefault()是不是起到阻止链接,而是按照语句进行alert的操作?
问题四:最头疼的就是js这样的语句,$(this).parent().find('input').val(),我的逻辑思维到目前为止还是接受不了这种充满想象力的语句,parent()是指?find('input')显然指this部分(这就是说class="item_title" 包括<input...>)。
感谢啊,代码切中了我所提第一个小问题。这里我要抱歉一下问了这么多细节,不问清楚,我还是不会用,在js面前还是大傻蛋。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".LeftTruck").click(function(){
$(this).css("background","#A8A8A8");
$(this).siblings().css("background","white");
var n = $(this).text();
$.ajax({
type:"get",
url:"main/ajax.php",
data:{
tankID:n
},
success:function(msg){
msg = eval("("+msg+")");
//因为仅仅是示例,这里我删除了很多重复代码部分
$("#showTank_5> input").val(msg.brand);
}
});
});
});
</script>
tankID:<?php echo $id; ?>
<?php
$sQuery ="";
$sCustomer = com_getReqParamStr("search_cus");
$sOrderTime = com_getReqParamStr("search_date");
//函数com_getReqParamStr是我自己写的函数,用来获得search_cus和search_date的post值
$sQuery = "SELECT * FROM transport.dingdan";
$data = getAll($sQuery);
foreach($data as $each)
{
//获得ajax.php传来的记录后对每条记录的字段取值
$status = $each['status'];
$customer = $each['customer'];
$depart = $each['locationPick'];
$arrival = $each['locationUnload'];
$product = $each['productName'];
?>
<table class="LeftTask"><tr><td width="20px"><img src="
<?php
//下面是在记录前面加红、绿、黄球的图
if ($status == 1)
{
$ball = "Images/bullet_red.png";
}
elseif ($status == 2)
{
$ball = "Images/bullet_yellow.png";
}
elseif ($status == 3)
{
$ball = "Images/bullet_green.png";
}
echo $ball;
?>
"/></td> <td width="98px"><p>
<?php
switch ($customer)
{
case 1:
echo "HOYER";
break;
//这里删除与本问题相关的很多代码
}
?>
//向数据库提交添加完的数据
function queding_item(item_id,obj){
var shuxing_str = "";
$.each($("input.shuxing_col"),function(i ,n ){
var shuxing_col = $(n).attr("shuxing_col");
var num = $(n).val();
if(i == 0){
shuxing_str += '{';
}
shuxing_str += '"'+shuxing_col+'":"'+num+'"';
if(i < $("input.shuxing_col").length -1){
shuxing_str += ',';
}else{
shuxing_str += '}';
}
});
$.ajax({
type:"post",
url:"select.php",
data:{
shuxing_str:shuxing_str,
item_id:item_id,
action:"queding_item"
},
success:function(msg){
if(msg > 0){
xuanding(msg);
}
}
});
}
我获得所有符合要求的元素,即input并且class为shuxing_col
然后用$.each()来循环这个符合要求的元素的集合
然后将需要的值拼成一个json字符串(可以转化成数组的那种json字符串
比如你可以用name做键名,value做键值
传递给PHP
PHP拿到后,用json_decode转化成数组
循环这个数组然后进行查询..
extract($_POST);
//用户自己添加属性提交
if($_POST && $_POST['action']=="queding_item"){
$shuxingArr = json_decode($shuxing_str,true); //将字符串转化为数组
$ziduan_str = "item_id"; //要插入的字段
$ziduanzhi_str = "'".$item_id."'"; //要插入的字段的值
if($shuxingArr){
$i = 1;
$ziduan_str .= ","; //要插入的字段
$ziduanzhi_str .= ","; //要插入的字段的值
foreach($shuxingArr as $key=>$each){
$ziduan_str .= $key;
$ziduanzhi_str .= "'".$each."'";
if($i < count($shuxingArr)){
$ziduan_str .= ",";
$ziduanzhi_str .= ",";
}
$i ++;
}
}
$sql = "insert into bigitem ($ziduan_str) values($ziduanzhi_str)";
if(mysql_query($sql)){
echo mysql_insert_id();
}else{
echo 0;
}
}
恩可能有一些无用代码 不过这个思路我觉得你可以试试(用$.each()来循环未知个数的符合条件的元素,拼成字符串传递给PHP,PHP转化为数组来处理)