- <form action = '<?php echo $this->baseUrl;?>/default/vote' method = 'post'>
- <div>
- <table border="0">
- <?php foreach ($this->votedetail as $key => $val): ?>
- <tr>
- <td style = 'border:1px solid red'>
- <?php echo $val['option'];?>:<input type = 'radio' name = 'opt' id = 'opt<?php echo $val['did'] ?>' value='<?php echo $val['did'] ?>' />
- </td>
- <td style = 'border:1px solid red'>
- <img src="<?php echo $this->baseUrl;?>/www/img/vote.gif" id = 'img<?php echo $val['did'];?>' name = 'image' style = "width:<?php echo $val['rate']*200; ?>px;height:10px;">
- </td>
- <td style = 'border:1px solid red'>
- <span id = "span<?php echo $val['did'];?>" ><?php echo $val['rate']*100;?>%</span>
- </td>
- </tr>
- <?php endforeach; ?>
- </table>
- </div>
- <div>
- <input type="button" value = '投票' οnclick='vote_submit()'/>
- </div>
- </form>
这个html页面实在很简单
我用一张长200px的宽10px的单色图片来标识票数的百分比情况
宽度的控制
style = "width:<?php echo $val['rate']*200;?>px;
从hq_votedetail 表中取出比率
注意要加上height:10px; 的样式。否则图片会根据原来比率自动压缩
- var vote_array;
- //发送ajax请求
- function vote_submit()
- {
- var options = $A(document.getElementsByName('opt'));
- var option = options.find(function(e){
- return(e.checked);
- });
- var opt = option.value;
- var date = new Date();
- var time = date.getTime();
- var url = '/default/index/vote';
- var pars = 'opt=' + opt+'&time='+time;
- var myAjax = new Ajax.Request(
- url,
- {
- method: 'get',
- parameters: pars,
- onComplete: showResponse
- });
- }
- //控制img宽度 修改选项百分比
- function showResponse(request)
- {
- vote_array = eval(request.responseText);
- vote_array.each(function(e){
- $('img'+e.did).style.width = (e.rate*200)+'px';
- $('span'+e.did).innerText = (e.rate*100)+'%';
- });
- }
用ajax实现无刷新票数增加