我想为select2表单插入函数select2TemplateResult作为属性'templateResult'。我不明白如何将属性'templateResult'设置为自定义函数,我在之前调用的.js文件中定义,而不是创建select2组件。
lib.js
function select2TemplateResult(data, container) {
console.log('aaa');
if (data.element) {
$(container).addClass($(data.element).attr("status"));
console.log($(data.element).attr("status"));
}
return data.text;
}
form.php的
<script type="text/javascript" src="/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script type="text/javascript" src="lib.js"></script>
<div class="form-group {{ $errors->has('elements') ? 'has-error' : '' }}">
<label>Example</label>
<select name="elements[]" class="form-control select2" multiple="multiple" templateResult=select2TemplateResult() data-placeholder="Select an element" style="width: 100%;">
<?php
$key_name = "name";
$key_status = "status";
foreach ($elementSource->getElements() as $v){
echo "<option selected='selected' status=$v[$key_status]>$v[$key_name]</option>";
}
?>
</select>
</div>
php代码位于laravel .blade.php文件中,我需要在select2丸子中添加一个类(选择和选项,但为了简单起见,我们只是处理templateResult函数)使用.css文件修改其外观。我知道通过使用javascript创建select2元素这很容易,但我想继续用php代码创建select2表单,如果可能的话,为了保持代码干净,也因为我不需要总是templateResult函数(我的页面中还有很多其他情况)。
此代码中可能存在许多错误...请给我一些提示! 感谢