通过读取数据库+循环的方法做了一个select下拉列表,但始终无法通过js赋予指定值,怎么解决?(撒分,不够另补)

歪着看世界 2013-08-14 03:33:37
想了想,这个和js其实不怎么相关,还是php问题。

问题背景:该页面左边是一些记录的列表,右边是很多空框,供填入一些信息,之后保存。然后点击左边记录的其中一项,相关信息就能在右边出现。上述功能我都已经实现了。
问题:右边很多空框中有一项是select下拉列表进行选择哪辆车。我的做法是从数据库中读取carNum(integer类型),以此作为select中option的value,而显示的值是数据库中对应该车辆的licenseNum(车牌号),上述用php循环的方法查询并且实现的。但我用js指定该id的select的值时,该select一点反应没有。我把这个select换成确定的select(即去除php循环,而是在htm中直接设定value和选项名称),则js可以指定该select的值,并显示出该值。

但我希望能循环设置该select,而且js能指定该值(显然,这样的话就可以动态显示了。)
该如何解决呢? 撒分,不够的话回帖或者私信给我,可另补。

直接上代码:

<!---下面是htm直接设定html的select的代码---->
<select id="showOrder_21" name="truck" class="dropdown" style="margin-left:0px !important; border:1px solid #BABABA !important;">
<option value ="1">QAZ123</option>
<option value ="2">WSX234</option>
<option value ="3">EDC345</option>
<option value ="4">TGB456</option>
</select></td>


下面是采用循环的方式实现的select:

<select id="showOrder_21" name="truck" class="dropdown" style="margin-left:0px !important; border:1px solid #BABABA !important;">
<?php
$query = "select * from transport.truck order by carNum";
$data = getAll($query);
foreach($data as $each)
{
?>
<option value="<?php echo $each['carNum']; ?> "><?php echo $each['licNum'];?></option>
<?php } ?>
</select></td>




下面是我用的js 部分:

<script type="text/javascript">
$(document).ready(function(){
$(".LeftTask").click(function(){

$(this).css("background","#A8A8A8");
$(this).siblings().css("background","white");
var orderID = $(this).find('input').val();
$.ajax({
type:"get",
url:"main/ajax.php",
data:{
orderID:orderID
},
success:function(msg){
msg = eval("("+msg+")");
<!---当中删除大量不相关的显示--->
$("#showOrder_21").val(msg.truck);

}
});
});

});
</script>



大牛们,求指导!!!
怎么解决这个问题呢?求关键代码片段或网上案例,万分感谢!!!
...全文
205 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
再看我一眼 2013-08-14
  • 打赏
  • 举报
回复
分数都是浮云,无所谓的.... 有问题继续交流.... 版大确实犀利 一眼看出问题所在~
歪着看世界 2013-08-14
  • 打赏
  • 举报
回复
引用 7 楼 u011552243 的回复:
这样,版主指明问题,再看我一眼一贯支持。 结贴,两位都是熟人,你看这样可否: 版主65分,再看我一眼35分如何?
都是熟人,就暂且这样。有觉得不满意的,可回帖或私信给我。 一再感谢大牛们帮助!!!
歪着看世界 2013-08-14
  • 打赏
  • 举报
回复
这样,版主指明问题,再看我一眼一贯支持。 结贴,两位都是熟人,你看这样可否: 版主65分,再看我一眼35分如何?
歪着看世界 2013-08-14
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
<option value="<?php echo $each['carNum']; ?> "><?php echo $each['licNum'];?></option> 中间多了个空格! <option value ="1">QAZ123</option> 变成了 <option value ="1 ">QAZ123</option> 不出问题才怪呢
版主英明,刚才我自己查了很久,也同时发现这个问题。
xuzuning 2013-08-14
  • 打赏
  • 举报
回复
<option value="<?php echo $each['carNum']; ?> "><?php echo $each['licNum'];?></option> 中间多了个空格! <option value ="1">QAZ123</option> 变成了 <option value ="1 ">QAZ123</option> 不出问题才怪呢
歪着看世界 2013-08-14
  • 打赏
  • 举报
回复
引用 1 楼 anyilaoliu 的回复:
$(".LeftTask").click(function(){ 改成 $(".LeftTask").live("click",function(){ ....... 后者的优势是可以"即使某dom节点是页面载入完成之后生成的,也能绑定事件". 参阅jquery手册.
出错信息: Line: 408 Error: Object doesn't support property or method 'live' 可能是我在head里面设置的版本问题。 前两天你给我的checkbox中的attr也出错了,最后换成最新版本中prop,才最终成功。
再看我一眼 2013-08-14
  • 打赏
  • 举报
回复
另外更好的办法是在动态生成的html标签中使用onclick="xxxxxxxx()"这种形式 好处是不像live那样耗费浏览器资源
歪着看世界 2013-08-14
  • 打赏
  • 举报
回复
引用 1 楼 anyilaoliu 的回复:
$(".LeftTask").click(function(){ 改成 $(".LeftTask").live("click",function(){ ....... 后者的优势是可以"即使某dom节点是页面载入完成之后生成的,也能绑定事件". 参阅jquery手册.
哇,你来了啊,欢迎欢迎。立马试。 谢谢啊。
再看我一眼 2013-08-14
  • 打赏
  • 举报
回复
$(".LeftTask").click(function(){ 改成 $(".LeftTask").live("click",function(){ ....... 后者的优势是可以"即使某dom节点是页面载入完成之后生成的,也能绑定事件". 参阅jquery手册.

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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