我正在使用Fancytree作为单选按钮。我希望能够点击标题或相关的单选按钮来选择节点。
使用基本的Fancytree初始化,
$("#tree").fancytree({
checkbox: true, // turn on checkboxes
selectMode: 1 // allow only a single selection
});
单击节点标题会突出显示标题,但不会勾选单选按钮。之后,勾选一个单选按钮可选择该节点,但之前选择的节点上的突出显示仍然存在。在这里试试:https://jsfiddle.net/slothbear/db4gzh47
我已经阅读了FAQ,Fancytree为活动,选定,关注和悬停维护了单独的状态。我已经尝试了很多事件来保持节点选择和激活同步,但还没有找到合适的组合。
有没有办法模拟标记的HTML单选按钮的行为,您可以在其中单击标签或单选按钮?示例:http://jsfiddle.net/Gu55B/1/
答案 0 :(得分:1)
我尝试添加return false
并且它有效。尝试类似的东西:
$("#tree").fancytree({
checkbox: true,
selectMode: 1,
click: function(event, data){
// data.node.setSelected(true) will work too
data.node.toggleSelected();
return false;
}
});
希望它有所帮助!
答案 1 :(得分:0)
要具有扩展器功能,请添加以下条件:
public class AttendanceModeConverter : System.ComponentModel.TypeConverter
{
private static List<KeyValuePair<int, string>> _modos;
static AttendanceModeConverter()
{
if (_modos == null)
{
_modos = new List<KeyValuePair<int, string>>();
_modos.Add(new KeyValuePair<int,string>(-1, "Según reloj"));
_modos.Add(new KeyValuePair<int,string>(0, "Entrada"));
_modos.Add(new KeyValuePair<int, string>(1, "Salida"));
}
}
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext context)
{
return _modos != null;
}
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext context)
{
return _modos != null;
}
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext context)
{
return new StandardValuesCollection(_modos);
}
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, Type destinationType)
{
if (destinationType == typeof(string))
return true;
return base.CanConvertTo(context, destinationType);
}
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(string))
{
if (value == null)
return "Automático";
if (value is KeyValuePair<int, string>)
return ((KeyValuePair<int, string>)value).Value;
return _modos.Where(m => m.Key.Equals((int)value)).FirstOrDefault().Value;
}
return base.ConvertTo(context, culture, value, destinationType);
}
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, Type sourceType)
{
if (sourceType == typeof(string))
return true;
return base.CanConvertFrom(context, sourceType);
}
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
{
if (value.GetType() == typeof(string))
return _modos.Where(m => m.Value.Equals((string)value)).FirstOrDefault().Key;
return base.ConvertFrom(context, culture, value);
}
}