我有一个我正在创建的多字段搜索表单。有9个不同的搜索字段。不过,它们都不是强制性的。唯一的要求是你必须至少填写一个字段。仅处理Codeigniter格式的已编辑字段
它们都在加载时显示默认值(即“状态”),而不是使用标签来指示搜索字段的目的是什么。所以,如果你编辑一个字段,但只留下其他八个字段,那么所有九个字段仍然会有一个值。
有没有什么好的,有效的方法来处理这个问题?我宁愿在发布前(例如if($(inputid).val() == 'Default Value') { ...
)或控制器(例如if($this->input->post('name') == 'default value') { $data['name'] = ''
)都不必手动执行jQuery中的逻辑,因为在整个站点中都会有几次迭代搜索,所以动态解决方案将非常有用并节省一大堆时间。
谢谢!
编辑 这里是什么,我结束了与后@ veddermatic的后下要点:
呈现形式:
<form id="search-form" action="spend/search">
<input id='fname' value='First Name' data-original_value='First Name' name='fname'/>
<input id='lname' value='Last Name' data-original_value='Last Name' name='lname'/>
...
</form>
鬼形式:
<form id="ghost-form" action="spend/search">
<!--nothing here yet-->
</form>
jquery处理这一切:
$('.do-the-search').click(function(e) {
e.preventDefault();
$('#search-form input').each(function() {
var $this = $(this);
if($this.attr('data-original_value') != $this.val())
{
var clone = $this.clone();
$("#ghost-form").append(clone);
}
});
$("#ghost-form").submit();
});
伟大的答案。我已经做了一些有点类似的事情。我们将视觉表示放在用户正在构建的查询的旁边,以便将input(输入)的blur()推送到div中。我可以同时包括鬼形式的建筑物。谢谢! – 2013-03-20 20:28:23