DataList 修改
DataList,绑定数据
现在想点击修改,数量变为文半框,尺码和颜色("SSS 黑色")是下拉列表,都可以修改,点修改,修改成功
这个应该怎么实现 里面有lz想要的,学习学习
[解决办法]
貌似有个 edittemplate 的吗,不过记不太清了
[解决办法]
这个修改的方法的好像就有满多了。
两种方式:
1,ajax方法修改.
2,表单提交方式的修改.
表单提交方式修改示例
[解决办法]
支持ajax修改,哪里都能用,不用去特意记一些东西
[解决办法]
一种方法用习惯了之后就在想是不是下类似操作也可以这样做。
[解决办法]
这个直接用jq替换操作就可以了。思路:点击修改,异步请求此id对应的这些属性的集合,然后构建html返回,将获取的对象填入到对应的dom里面,原来的隐藏掉即可
[解决办法]
记得给分啊!!!
<style type="text/css">
#tb_goods{ font-size:12px; font-family:Arial; background-color:#ccc; width:600px;}
#tb_goods tr.t_head td{ text-align:center; background-color:#999;}
#tb_goods tr td{ background-color:#fff; text-align:center;}
ul,li{ list-style:none; margin:0; padding:0;}
ul li{ float:left; height:80px; display:inline-table;}
.goodsimg{ width:80px; height:80px;}
.gooodsinfo{ margin-top:20px;}
.a_del{ color:Red;}
.a_mod{ color:Green; margin-left:5px;}
.disnone{ display:none;}
.saveThis,.cancelThis{ margin-left:5px;}
</style>
<table cellpadding="0" cellspacing="1" id="tb_goods">
<tr class="t_head">
<td>商品信息</td>
<td>购买价格</td>
<td>数量</td>
<td>操作</td>
</tr>
<tr>
<td>
<ul>
<li><image class="goodsimg" src="http://avatar.profile.csdn.net/0/3/2/1_liangtianheng.jpg" ></image></li>
<li>
<span style="height:30px; display:block;"></span>
<span class="gooodsinfo">
七匹狼男装<br />SSS
<a class="div_tag">橙色</a>
<a class="a_sel disnone"><span class="saveThis">保存</span><span class="cancelThis">取消</span></a>
</span>
</li>
</ul>
</td>
<td>¥600</td>
<td>55</td>
<td><a class="a_del">删除</a><a class="a_mod" cumid="2">修改</a></td><%--假如这个商品的id是2--%>
</tr>
</table>
<script type="text/javascript">
//jq的库记得引入
$(function () {
$(".a_mod").live('click', function () {
var objThis = $(this).parent().parent().find("li:eq(1)");
var id = $(this).attr("cumid");
var _txt = objThis.find(".div_tag").text();
//根据ajax把id和_txt传过去
$.ajax({
type: "get",
url: "Ajax/ajax.aspx?id=" + id + "&txt=" + escape(_txt) + "&ptime=" + (new Date().getDate()),
eache: false,
success: function (repOption) {
objThis.find(".div_tag").addClass("disnone");
objThis.find(".a_sel").prepend(repOption).removeClass("disnone");
},
error: function () {
alert("参数出错,请与管理员联系!");
}
});
})
$(".cancelThis").live("click", function () {
var oobbjj = $(this).parent();
oobbjj.find("select").remove();
oobbjj.parent().find(".div_tag").removeClass("disnone");
oobbjj.addClass("disnone");
})
$(".saveThis").live("click", function () {
var selVal = $(this).parent().find("select").val();
alert("得到选择的:" + selVal + "怎么操作你懂的");
})
})
</script>
ajax.aspx后台文件(路径关系自己该):
string id = Request.QueryString["id"] != null ? Request.QueryString["id"].ToString() : "";
string txt = Request.QueryString["txt"] != null ? Request.QueryString["txt"].ToString() : "";
if (id != "" && txt != "")
{
//<option value="hs">黑色</option>
// <option value="cs" selected="selected">橙色</option>
// <option value="zs">棕色</option>
// <option value="jl">军绿</option>
//下面是测试的假数据,当然了,你应该从数据库或者某个地方获取这些属性的集合吧(比如枚举)
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("hs", "黑色");
dic.Add("cs", "橙色");
dic.Add("zs", "棕色");
dic.Add("jl", "军绿");
System.Text.StringBuilder strb = new System.Text.StringBuilder();
strb.Append("<select class=\"sel_sty\">");
foreach (string key in dic.Keys)
{
string tempStr = dic[key];
strb.Append("<option value=\"" + key + "\"" + (txt == tempStr ? "selected=\"selected\"" : "") + ">" + tempStr + "</option>");
}
strb.Append("</select>");
Response.Write(strb.ToString());
}
else
Response.Write("");