我有一个与select2一起使用的字段,名为
location
,用户可以在其中输入一个或多个位置。然后我有一个复选框
noCity
如果没有
位置
.
我试图存档的内容
什么时候
诺城
检查,
位置
被禁用,占位符被删除,所有值都被清除。
我存档的东西
什么时候
诺城
检查,
位置
在未选中、启用和加载表单时禁用
诺城
已检查,禁用也已正确完成。
我的问题:
我似乎无法删除字段的值
位置
也不是占位符。
.attr("placeholder", '', this)
和
.val('', this)
似乎不起作用,其他尝试也失败了。
我的代码到目前为止:
$('#location').select2({
placeholder: 'Enter a city'
});
$("#noCity").click(function () {
if (jQuery(this).prop("checked")) {
jQuery("#location")
.prop("disabled", this)
.attr("placeholder", '', this)
.val('', this)
;
} else {
jQuery("#location")
.prop("disabled", false)
.attr("placeholder", 'Enter the name of the city')
.val('')
;
}
});
if ($('#noCity').is(':checked')) {
jQuery('#location')
.prop('disabled', this)
.attr('placeholder', '')
.val('');
}
和HTML:
Location: <select id="location" multiple="multiple" style="width: 300px">
<option>New York</option>
<option>Hong Kong</option>
<option>Amsterdam</option>
</select>
<br>
<label>No city:<input id="noCity" type="checkbox"></label>
这里是一个
JSFiddle
我的问题:
我怎么确定什么时候
诺城
检查,
位置
被禁用,占位符被删除,所有值都被清除(同时
诺城
未选中该字段
位置
是否再次启用并返回占位符?
编辑:我的问题类似于
this one
但是,当复选框未选中(仍然不起作用)时,我会尝试实现此功能,并使用不同工作方式的Select2版本4。