Bootstrap Multi-select 在 POST 下拉菜单中不起作用?
Bootstrap Multi-select not working in a POST dropdown?
我有以下初始化 multi-select 的先决条件。
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" media="screen">
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" />
<!-- Bootstrap core and multiselect JS -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.js"></script>
<script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script>
它似乎没有像预期的那样工作,如下所示:
现在我的第二个下拉菜单 'Name' 是一个 AJAX 类型的下拉菜单,它基于第一个下拉菜单 'Select Integration'.
的值
<tr>
<td>Select Integration: </td> <td>
<select name="new_src_type_id" id="integration-list" class="form-control" onChange="getState(this.value);">
<option value="">Select Integration</option>
<?php
foreach ($integration_id as $index_integ => $integ_id) {
echo "<option value='$integ_id'>".$integration[$index_integ]." </option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>Name: (The changes made will be applied to the ff:)</td> <td>
<select name="element[]" id="element-list" class="form-control" multiple="multiple">
</select>
</td>
</tr>
呼叫者:
<script>
function getState(val) {
$.ajax({
type: "POST",
url: "get_element.php",
data:'src_type_id='+val,
success: function(data){
$("#element-list").html(data);
}
});
}
</script>
我希望能够将第二个下拉菜单 'Name' 初始化为多 select 下拉菜单,但它不像文档中显示的那样工作。
http://davidstutz.github.io/bootstrap-multiselect/
当我这样称呼它时,这似乎不起作用:
<script>
$(document).ready(function() {
$('#element-list').multiselect({
includeSelectAllOption: true
});
});
</script>
有时使用ajax加载后无法初始化元素,需要在ajax加载完成后重新初始化。
<script>
function getState(val) {
$.ajax({
type: "POST",
url: "get_element.php",
data:'src_type_id='+val,
success: function(data){
$("#element-list").html(data);
$('#element-list').multiselect({ includeSelectAllOption: true });
}
});
}
</script>
您需要像下面这样初始化您的多选(假设您的 ajax 调用正确地返回了您想要的值)。
function getState(val) {
$.ajax({
type: "POST",
url: "get_element.php",
data:'src_type_id='+val,
success: function(data){
$("#element-list").append($('<option></option>').val(data).html(data)).multiselect("destroy").multiselect({
includeSelectAllOption: true, //For SelectAll Option
enableFiltering: true, //For Search Option
});
}
}
我写了
.multiselect("destroy")
销毁先前的多选实例,因为您将根据下拉列表更改多选的值。
我有以下初始化 multi-select 的先决条件。
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" media="screen">
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" />
<!-- Bootstrap core and multiselect JS -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.js"></script>
<script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script>
它似乎没有像预期的那样工作,如下所示:
现在我的第二个下拉菜单 'Name' 是一个 AJAX 类型的下拉菜单,它基于第一个下拉菜单 'Select Integration'.
的值<tr>
<td>Select Integration: </td> <td>
<select name="new_src_type_id" id="integration-list" class="form-control" onChange="getState(this.value);">
<option value="">Select Integration</option>
<?php
foreach ($integration_id as $index_integ => $integ_id) {
echo "<option value='$integ_id'>".$integration[$index_integ]." </option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>Name: (The changes made will be applied to the ff:)</td> <td>
<select name="element[]" id="element-list" class="form-control" multiple="multiple">
</select>
</td>
</tr>
呼叫者:
<script>
function getState(val) {
$.ajax({
type: "POST",
url: "get_element.php",
data:'src_type_id='+val,
success: function(data){
$("#element-list").html(data);
}
});
}
</script>
我希望能够将第二个下拉菜单 'Name' 初始化为多 select 下拉菜单,但它不像文档中显示的那样工作。 http://davidstutz.github.io/bootstrap-multiselect/
当我这样称呼它时,这似乎不起作用:
<script>
$(document).ready(function() {
$('#element-list').multiselect({
includeSelectAllOption: true
});
});
</script>
有时使用ajax加载后无法初始化元素,需要在ajax加载完成后重新初始化。
<script>
function getState(val) {
$.ajax({
type: "POST",
url: "get_element.php",
data:'src_type_id='+val,
success: function(data){
$("#element-list").html(data);
$('#element-list').multiselect({ includeSelectAllOption: true });
}
});
}
</script>
您需要像下面这样初始化您的多选(假设您的 ajax 调用正确地返回了您想要的值)。
function getState(val) {
$.ajax({
type: "POST",
url: "get_element.php",
data:'src_type_id='+val,
success: function(data){
$("#element-list").append($('<option></option>').val(data).html(data)).multiselect("destroy").multiselect({
includeSelectAllOption: true, //For SelectAll Option
enableFiltering: true, //For Search Option
});
}
}
我写了
.multiselect("destroy")
销毁先前的多选实例,因为您将根据下拉列表更改多选的值。