我正在使用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'));

09-16 14:05