我在页面中的在线SharePoint中有2个PnP分类法选择器控件。我将这些控件初始化如下
$('#taxPickerKeywords_' + p).taxpicker({
isMulti: false,
allowFillIn: true,
useKeywords: true,
termSetId: 'GUID'
}, context);
现在我需要将第二个控件的值设置为第一个控件的值。我可以从第一个控件获取值,但无法在jQuery中使用.val()
设置第二个控件值。
初始化我的纳税人选择器后,HTML如下所示
<div class="cam-taxpicker">
<div class="cam-taxpicker-editor" contenteditable="true"></div>
<div class="cam-taxpicker-button"></div>
<input type="hidden" id="taxPickerKeywords_0">
</div>
<div class="cam-taxpicker-suggestion-container"></div>
有任何想法或建议来设置此控件的值吗?
答案 0 :(得分:0)
我为此做了一个解决方法。该值已使用$('#tax_2').val(value);
进行了设置,但未出现在编辑器中。因此,我更新了它的值,然后将编辑器元素设置为第一个税收选择器中的元素。
//setting the value of 2nd control
$('#tax_2').val(value);
//cloning the elements of 1st control's editor
var clonedVar = $('#tax_1').parent().find('.cam-taxpicker-editor').children().clone();
//emptying the 2nd control's editor if any other value is present
$('#tax_2').parent().find('.cam-taxpicker-editor').empty();
//appending the editor element to 2nd control
$('#tax_2').parent().find('.cam-taxpicker-editor').append(clonedVar);
这对我有用,因为我正在复制一个分类选择器中已经存在的值。我也能够读取这些值并将其保存到后端。用户甚至可以在复制后更改该值。