如何设置输入值使用Javascript不仅仅是视图,而是在检查元素时元素中的永久值?

时间:2014-08-04 06:11:31

标签: javascript html mootools

正如问题所说的那样。

请不要评价为不好,因为如果您认为这不是一个好问题我将来不会再提出任何问题,那么请在评论中告诉我并且我会尽力改进。

我想要做的是当我在文本输入中键入内容时,我从建议中设置其值,并在建议中添加文本输入中的值,您可以说附加值。

让我们假设我们已经存储了xxxx值,它会在我检查元素时显示。但是当我使用javascript在输入中添加新值时,我检查元素它仍然是xxxx所以它不会附加在元素中,因此我无法在逗号后添加更多值,因为它只是在我尝试追加时获取存储值xxxx。

希望得到我的观点。 感谢

这是可以帮助您帮助我的代码。

en4.core.runonce.add(function (){
    var contentAutocomplete = new Autocompleter.Request.JSON('1_1_17', '<?php echo $this->url(array('module' => 'user', 'controller' => 'edit', 'action' => 'getinterest' ), 'default', true) ?>', {
        'postVar' : 'text',
        'minLength': 1,
        'selectMode': 'pick',
        'autocompleteType': 'tag',
        'className': 'seaocore-autosuggest tag-autosuggest',
        'customChoices' : true,
        'filterSubset' : true,
        'multiple' : false,
        'injectChoice': function(token){
            var choice = new Element('li', {'class': 'autocompleter-choices', 'id':token.label});
            new Element('div', {'html': this.markQueryValue(token.label),'class': 'autocompleter-choice'}).inject(choice);
            this.addChoiceEvents(choice).inject(this.choices);
            choice.store('autocompleteChoice', token);
        },
    });

    var test = document.getElementById('1_1_17').value;
    contentAutocomplete.addEvent('onSelection', function(input) {
        document.getElementById('1_1_17').value = test+','+input;
    });
});

我正在使用mootools。

1 个答案:

答案 0 :(得分:1)

我已经找到了解决方案,如果有需要的话我会分享我的答案。

contentAutocomplete.addEvent('onSelection', function (input) {
    var inputEl = document.getElementById('1_1_17'); //input element which we are populating via suggestions
    var get = inputEl.getAttribute("value"); //get attribute value 
    var set = inputEl.setAttribute("value", get + "," + input); // set the attribute to store value in permanent way it will not mess up with next suggestion we add
    var get_again = inputEl.getAttribute("value"); // Get the attribute again for setting value for view
    inputEl.value = get_again; // setting the value for view
});