我正在使用ddslick使用图标制作下拉菜单,唯一的麻烦是当我发布表单时所选选项的值始终为空,如果我关闭ddslick它可以正常工作.
<script language="javascript" type="text/javascript"> $('.cflagdd').ddslick({ onSelected: function(selectedData){ //callback function: do something with selectedData; // $('#editcflag').submit(); - this does not work,posts form on page load } }); </script> <select class="cflagdd" name="cflag"> <option value="0" selected="selected">No action flag set</option> <option value="1" data-imagesrc="'.base_url().'images/Actions-flag-green-icon.png">Resolved</option> <option value="2" data-imagesrc="'.base_url().'images/Actions-flag-yellow-icon.png">Investigate</option> <option value="3" data-imagesrc="'.base_url().'images/Actions-flag-red-icon.png">Urgent</option> <option value="4" data-imagesrc="'.base_url().'images/Actions-flag-blue-icon.png">False positive</option> </select>
版本:
jQuery的1.7.2.js
jQuery UI – v1.8.20
感谢您提供任何帮助,非常感谢
解决方法
ddslick中存在一个错误,它会在没有name属性的情况下保留隐藏的输入.
我能够向ddslick添加几行,以便将select的name属性添加到它创建的隐藏元素中.
首先,下载ddslick的未压缩版本:http://dl.dropboxusercontent.com/u/40036711/Scripts/jquery.ddslick.js
然后在第106行添加以下内容,或者在以“var ddSelect = …”开头的行后面添加:
// set hidden input name ddSelect.find('input.dd-selected-value').attr('name',$(this).attr('name'));