如何重新启用onChange我的多选下拉列表中的所有选定值.这里使用插件.试着使用以下但我认为我走错了路
$('#multiselect1').multiselect({
selectAllValue: 'multiselect-all',
enableCaseInsensitiveFiltering: true,
enableFiltering: true,
maxHeight: '300',
buttonWidth: '235',
onChange: function(element, checked) {
var brands = $('#multiselect1 option:selected');
var selection = [];
$(brands).each(function(index, brand){
selection.push(brand);
});
console.log(selection);
}
});
Run Code Online (Sandbox Code Playgroud)
找到了
$('#multiselect1').multiselect({
selectAllValue: 'multiselect-all',
enableCaseInsensitiveFiltering: true,
enableFiltering: true,
maxHeight: '300',
buttonWidth: '235',
onChange: function(element, checked) {
var brands = $('#multiselect1 option:selected');
var selected = [];
$(brands).each(function(index, brand){
selected.push([$(this).val()]);
});
console.log(selected);
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个多选下拉如下,我选择了"测试2"和"测试3"选项.
<select id="edit-rec" class="form-select" multiple="multiple" name="rec[]">
<option value="6012">Test 1</option>
<option value="8436">Test 2</option>
<option value="4689">Test 3</option>
<option value="6784">Test 4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我有一个名为"Deselect All"的按钮.单击此按钮时,应取消选择所有选定的项目.在这种情况下,我之前选择的项目"测试2"和"测试3"现在应该被取消选择.
我怎样才能使用jQuery实现这一目标?
如果在当前(iOS 9.2)移动游戏中发现一个非常烦人的错误(自iOS 7以来首次出现!)
如果您在移动野生动物园中使用多选字段 - 如下所示:
<select multiple>
<option value="test1">Test 1</option>
<option value="test2">Test 2</option>
<option value="test3">Test 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
您将遇到自动选择问题!
打开选择后,iOS会自动选择第一个选项(没有任何用户交互) - 但它不会通过蓝色选择"检查"显示给您.
因此,如果您现在选择第二个选项,则选择将告诉您选择了两个选项(但仅突出显示一个选项)...
如果您现在关闭并再次打开选择,iOS将自动取消选择第一个值 - 如果重复,将再次选择它而无需任何用户交互.
这是一个非常烦人的系统错误,它破坏了用户体验!
我想通过保持在jQuery UI可选表中启用多选功能shift.
如果shift按下鼠标点击,我可能应该这样做
但我无法找到如何以干净的方式做到这一点......
目前我在可选配置中得到了这个:
start: function(e)
{
var oTarget = jQuery(e.target);
if(!oTarget.is('tr')) oTarget = oTarget.parents('tr');
}
Run Code Online (Sandbox Code Playgroud)
所以oTarget是点击的元素(且e.currentTarget是全表),但现在该怎么办?我怎样才能找到哪些元素已经被选中,可以告诉我点击的元素是否超过所选元素并选择其间的所有内容?
我已经像这样解决了它,添加到可选元素:
jQuery(table).mousedown(function(e)
{
//Enable multiselect with shift key
if(e.shiftKey)
{
var oTarget = jQuery(e.target);
if(!oTarget.is('.ui-selectee')) oTarget = oTarget.parents('.ui-selectee');
var iNew = jQuery(e.currentTarget).find('.ui-selectee').index(oTarget);
var iCurrent = jQuery(e.currentTarget).find('.ui-selectee').index(jQuery(e.currentTarget).find('.ui-selected'));
if (iCurrent < iNew) {
iHold = iNew;
iNew = iCurrent;
iCurrent = iHold;
}
if(iNew != '-1')
{
jQuery(e.currentTarget).find('.ui-selected').removeClass('ui-selected');
for (i=iNew;i<=iCurrent;i++) {
jQuery(e.currentTarget).find('.ui-selectee').eq(i).addClass('ui-selected');
} …Run Code Online (Sandbox Code Playgroud) javascript jquery jquery-ui multi-select jquery-ui-selectable
我在ListBox中选择多个项目时遇到问题.
我已经尝试从Selector派生新的控件并编写无法正常工作的ListBox助手类(如预期的那样).
Selector类的问题是,它没有暴露SelectedItems,它是绑定属性并使用选择更改事件操纵它的地狱.
ListBox Helper类的问题是,我正在获取多个选择所需的数据,但它永远不会遇到绑定属性.
有没有人知道实现多选列表框的更好方法?
提前致谢...
我很难找到Android API中提供的MultiSelectListPreference的一个很好的例子.我看过很多对这个博客的引用,这就是我想要的最终结果,我不想为我想要实现的每个多选择首选项创建一个类.最后,我希望看到一个简单的多选对话框(我将动态填充值)的首选项xml,以及调用addPreferencesFromResource(R.xml.preferences);
目前,我有:
<MultiSelectListPreference
android:defaultValue=""
android:enabled="true"
android:entries="@array/pref_default_entries"
android:entryValues="@array/pref_default_values"
android:key="TargetList"
android:persistent="true"
android:summary="@string/TargetSummary"
android:title="@string/TargetTitle" />
Run Code Online (Sandbox Code Playgroud)
当我尝试在我的Activities onCreate调用中调用addPreferencesFromResource时,我收到以下错误:
06-18 13:59:30.690: E/AndroidRuntime(6052): FATAL EXCEPTION: main
06-18 13:59:30.690: E/AndroidRuntime(6052): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tracker/com.tracker.TrackerActivity}: android.view.InflateException: Binary XML file line #37: Error inflating class java.lang.reflect.Constructor
06-18 13:59:30.690: E/AndroidRuntime(6052): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1818)
06-18 13:59:30.690: E/AndroidRuntime(6052): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1834)
06-18 13:59:30.690: E/AndroidRuntime(6052): at android.app.ActivityThread.access$500(ActivityThread.java:122)
06-18 13:59:30.690: E/AndroidRuntime(6052): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1027)
06-18 13:59:30.690: E/AndroidRuntime(6052): at android.os.Handler.dispatchMessage(Handler.java:99)
06-18 13:59:30.690: E/AndroidRuntime(6052): at android.os.Looper.loop(Looper.java:132)
06-18 13:59:30.690: E/AndroidRuntime(6052): at android.app.ActivityThread.main(ActivityThread.java:4126)
06-18 13:59:30.690: …Run Code Online (Sandbox Code Playgroud) 我一直在从Magento中获取属性选项,如下所示:
<?php
if ($attribute->usesSource()) {
$options = $attribute->getSource()->getAllOptions(false);
}
?>
Run Code Online (Sandbox Code Playgroud)
它一直工作正常,直到我试图获取内置'color'属性的选项 - 我收到以下错误:
PHP Fatal error: Call to a member function setAttribute() on a non-object in app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php on line 374
Run Code Online (Sandbox Code Playgroud)
看来getSource()呼叫失败并导致此错误.有谁知道为什么会发生这种情况以及我如何获得颜色选项?
谢谢!
我有一些数据的两个视图:一个列表视图(一个ListBox现在,但我一直意味着切换到ListView)和一个奇特的图形表示在地图上.在任一视图中,用户都可以单击对象,并且将在两个视图中选择该对象.Multiselect也是可能的,因此每个ViewModel实例都有自己的IsSelected属性.
目前我绑定ListBoxItem.IsSelected到ViewModel.IsSelected,但是这只是工作,如果正常的ListBox不是虚拟化(见这里).不幸的是,禁用虚拟化会损害性能,而我的应用程序变得太慢了.
所以我必须再次启用虚拟化.为了保持ViewModel.IsSelected屏幕外项目的属性,我注意到ListBox并且ListView有一个SelectionChanged事件我可以(可能)用来将选择状态从传播ListBox/ListView到ViewModel.
我的问题是,如何反向传播选择状态?该SelectedItems属性ListBox/ListView是只读的!假设用户单击图形表示中的项目,但它在列表中是屏幕外的.如果我只是设置,ViewModel.IsSelected那么ListBox/ListView将不知道新的选择,因此如果用户单击列表中的其他项目,它将无法取消选择该项目.我可以打电话ListBox.ScrollIntoView给ViewModel,但有几个问题:
ListBox/ListView. 那么,亲爱的WPF专家,有什么想法吗?
编辑:我最终切换到Infragistics控件并使用一个丑陋而缓慢的解决方案.关键是,我不再需要答案了.
我正在尝试扩展handsontable插件以支持其下拉列表中的多个选择.我已经尝试通过按照建议https://github.com/trebuchetty/Handsontable-select2-editor/issues/7修改'dropdownEditor'来扩展内置到库中的基本编辑器 .我花了几个小时阅读和搜索关键字的来源,但我没有想出任何真正的用途.
我不介意使用Angular扩展或其他原生ECMA5或扩展https://github.com/handsontable/handsontable插件的方式来解决这个问题.
到目前为止,我唯一的想法是使用这些代码按照存在的模式实际扩展框架.我在下面添加了指向的所有LOC:multiselect或者Handsontable.MultiselectDropdownCell复制了dropdown方法,称为新名称,一切正常,但仍无法看到我可以在哪里开始找到我要找的东西.
Handsontable.MultiselectDropdownCell = {
editor: getEditorConstructor('multiselectdropdown'),
renderer: getRenderer('autocomplete')
};
Handsontable.cellTypes = {
text: Handsontable.TextCell,
date: Handsontable.DateCell,
numeric: Handsontable.NumericCell,
checkbox: Handsontable.CheckboxCell,
autocomplete: Handsontable.AutocompleteCell,
handsontable: Handsontable.HandsontableCell,
password: Handsontable.PasswordCell,
dropdown: Handsontable.DropdownCell,
multiselect: Handsontable.MultiselectDropdownCell
};
Handsontable.cellLookup = { validator: {
numeric: Handsontable.NumericValidator,
autocomplete: Handsontable.AutocompleteValidator
}};
Run Code Online (Sandbox Code Playgroud)
我有一个修改版的下拉编辑器,它看起来像:
import {getEditor, registerEditor} from './../editors.js';
import {AutocompleteEditor} from './autocompleteEditor.js';
/**
* @private
* @editor MultiSelectDropdownEditor
* @class MultiSelectDropdownEditor
* @dependencies AutocompleteEditor
*/
class MultiSelectDropdownEditor extends …Run Code Online (Sandbox Code Playgroud) javascript multi-select angularjs handsontable drop-down-menu
我在HTML表单中有以下多选框,用户可以在其中选择一个或多个选项.
<select id="eng_0" name="eng_0[]" multiple size="3">
<option value="Privilégier">Privilégier</option>
<option value="Accepté">Accepté</option>
<option value="Temporaire">Temporaire</option>
</select>
Run Code Online (Sandbox Code Playgroud)
当用户选择无选项时,表单将POST发送到PHP后端,但它不会为$ _POST ['eng_0']创建空数组值,就好像该字段甚至不在表单上一样.
这有点像未提交的复选框,未提交问题.
即使没有选择的选项,有没有办法让它对选择对象进行POST?如果有帮助,它可以在jQuery中.
multi-select ×10
jquery ×4
html ×2
javascript ×2
wpf ×2
.net ×1
android ×1
angularjs ×1
attributes ×1
clear ×1
handsontable ×1
html-select ×1
ios ×1
jquery-ui ×1
listbox ×1
magento ×1
mvvm ×1
php ×1
select ×1