I'm using smiley helper to display and store smileys. Smileys 've displayed in a generated table view. Click on the smiley,corresponding text gets displayed not the smiley. Here is my code in Library,
public function get_smiles()
{
$CI =& get_instance();
$CI->load->helper('smiley');
$CI->load->library('table');
$image_array = get_clickable_smileys('images/smileys/', 'editor-textarea');
$col_array = $CI->table->make_columns($image_array, 8);
$array['smiley_table'] = $CI->table->generate($col_array);
return $array['smiley_table'];
}
In view,
<?php echo smiley_js(); ?>
<textarea name="editor-textarea" class="editor-textarea" id="editor-textarea"><textarea>
<ul>
<li>
<?php $smiles = $this->common->get_smiles(); ?>
<?php echo $smiles; ?>
</li>
How do I solve this?
Smiley js
<script type="text/javascript">
/*<![CDATA[ */var smiley_map = {};
function insert_smiley(smiley, field_id) {
var el = document.getElementById(field_id), newStart;
if ( ! el && smiley_map[field_id]) {
el = document.getElementById(smiley_map[field_id]);
if ( ! el)
return false;
}
el.focus();
smiley = " " + smiley;
if ('selectionStart' in el) {
newStart = el.selectionStart + smiley.length;
el.value = el.value.substr(0, el.selectionStart) +
smiley +
el.value.substr(el.selectionEnd, el.value.length);
el.setSelectionRange(newStart, newStart);
}
else if (document.selection) {
document.selection.createRange().text = smiley;
}
}// ]]>
</script>