首页 > 代码库 > 美丽的前端控件
美丽的前端控件
一,status bootstrap提更的一个下拉控件,可是它支持复选。。实现的方式是通过隐藏真实的checkbox,通过js将操作值传递给checkbox
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
Status
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1" style="width: 153px">
<li role="presentation">
<a class="aaa" role="menuitem" tabindex="-1" href=http://www.mamicode.com/"#" id="drafted" style="color:#CC9900">
<?php if($_GET[‘draft‘]):?>Drafted <span style=‘position: relative;right:-70px;‘>√</span> //由于隐藏表单的提交方式是通过get所以我们能够获取到操作值。
<?php else: ?
>
Drafted
<?php endif; ?>
</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" href=http://www.mamicode.com/"#" id="scheduled" style="color:green">
<?php if($_GET[‘scheduled‘]):?
>Scheduled <span style=‘position: relative;right:-50px;‘>√</span>
<?
php else: ?>
Scheduled
<?php endif; ?>
</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" href=http://www.mamicode.com/"#" id="published" style="color:blue">
<?php if($_GET[‘published‘]):?
>Published <span s style=‘position: relative;right:-55px;‘>√</span>
<?php else: ?>
Published
<?
php endif; ?
>
</a>
</li>
</ul>
js........................................................................
$("#drafted").click(function(){
//jQuery("#edit-draft").attr("checked", "checked");
jQuery("#edit-draft").click(); //点击隐藏表单的那个checkbox
jQuery("#views-exposed-form-messages-page").submit(); //js 调用提交事件
jQuery("#edit-submit").click();
});
$("#scheduled").click(function(){
jQuery("#edit-scheduled").click();
jQuery("#views-exposed-form-messages-page").submit();
jQuery("#edit-submit").click();
});
$("#published").click(function(){
jQuery("#edit-published").click();
jQuery("#views-exposed-form-messages-page").submit();
jQuery("#edit-submit").click();
});
二,日期选择器
<div style="float: left;width: 40px;margin-right: 10px;margin-top: 5px;margin-left: 20px"><b>From:</b></div>
<div id="start_filter_date" class="input-append date" style="float:left">
<input size="16" type="text" class="input-small" readonly style="cursor: pointer" /><span class="add-on"><i class="icon-calendar"></i></span>
</div>
<div id="end_filter_date" class="input-append date" style="float:left;margin-left: 5px;">
- <input size="16" type="text" class="input-small" readonly style="cursor: pointer" /><span class="add-on"><i class="icon-calendar"></i></span>
</div>
<button class="date_submit icon-search btn btn form-submit" style="float:left;width:40px;margin-left: 5px;"></button>
js............................................................................................................................
$(".date_submit").click(function(){
//获取选择器中时间值
var start_date = jQuery("#start_filter_date").find(‘input‘).val();
//将时间赋值给隐藏的表单项
jQuery("#start_date").attr("value",start_date);
var end_date = jQuery("#end_filter_date").find(‘input‘).val();
jQuery("#end_date").attr("value",end_date);
//然后出发提交button
jQuery("#edit-submit").click();
});
//时间选择器的相关js函数
var current_date = new Date();
//current_date.setDate(current_date.getDate()-30);
current_date.setDate(current_date.getDate());
jQuery("#start_filter_date").datetimepicker({
format: ‘M dd, yyyy‘,
autoclose: true,
startView: 2,
minView: 2,
maxView: 2,
startDate: 0,
endDate:current_date
});
jQuery("#end_filter_date").datetimepicker({
format: ‘M dd, yyyy‘,
autoclose: true,
startView: 2,
minView: 2,
maxView: 2,
startDate: 0
//endDate: current_date
});
三。自己主动完毕框
<div style="float: right">
<div style="float: left;width: 40px;margin-right: 31px;margin-top: 5px;"><b>Keyword:</b></div>
<input class="span2" data-provide="typeahead" data-source=‘‘ autocomplete="off" id="keyworld" type="text" placeholder="Enter keyword" style="float: left">
<button class="keyworld_submit icon-search btn btn form-submit" style="float:left;width:40px;margin-right: 0px"></button>
</div>
//当中data-source 的值是从数据库调取出来的
js..................................................................................................
$(".keyworld_submit").click(function(){
var key = jQuery("#keyworld").val();
jQuery("#edit-title--2").attr("value",key);
jQuery("#edit-submit").click();
});
//假设data-source假设用js 赋值的话那么,应该在整个dom 载入完毕后就立即被调用(不用什么触发事件才调用)
var source = jQuery("#edit-title--2").attr("data-source");
$("#keyworld").attr("data-source",source);
// 这是drupal获取data-source 的方式
$form[‘title‘] = array(
‘#type‘ => ‘textfield‘,
‘#title‘=> ‘‘,
‘#attributes‘ => array(
‘placeholder‘ => t(‘Search by campaign name‘),
‘data-provide‘ => t(‘typeahead‘),
‘data-source‘ => json_encode($arrMsg), //将数组转化为json格式的
‘autocomplete‘ => t(‘off‘)
),
‘#prefix‘ => ‘<div class="span4 pull-left spacer10">‘,
);
//$arrMsg要求是普通数组
$results = db_query($queryString)->fetchAll();
$arrMsg = array();
foreach($results as $result){
array_push($arrMsg, $result->title);
}
美丽的前端控件