javascript - 在 inputpicker 中手动设置一个值

标签 javascript jquery

我用这个plugin for inputpicker

<input class="form-control" id="test" value="2" />
<script>
$('#test').inputpicker({
    data:[
        {value:"1",text:"Text 1", description: "This is the description of the text 1."},
        {value:"2",text:"Text 2", description: "This is the description of the text 2."},
        {value:"3",text:"Text 3", description: "This is the description of the text 3."}
    ],
    fields:[
        {name:'value',text:'Id'},
        {name:'text',text:'Title'},
        {name:'description',text:'Description'}
    ],
    autoOpen: true,
    headShow: true,
    fieldText : 'text',
    fieldValue: 'value'
    });
</script>

如何为此输入选择器手动选择一个值? 我试过了

$("#test").val(2);

但视觉上没有显示任何内容

最佳答案

这是 JavaScript 的工作方式导致了此问题,具体来说,在输入上设置值不会触发更改事件。您可以测试:

假设 $0 是一个输入元素

$0.onchange = function(){ alert('1') }
$0.value = '123';

不会出现任何警报。同样的行为也适用于 jQuery 的 .val() 函数。

因此您需要自己触发更改事件,即

$("#test").val(2).trigger('change');

然后 inputpicker 将能够实际接收更改。

关于javascript - 在 inputpicker 中手动设置一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54499693/

相关文章:

javascript - 需要帮助设置 Node/Knex 迁移

javascript - Angularjs - ng-model 未从 javascript 更新

javascript - Jquery keypress() 事件没有捕获 Tab 键码

javascript - jQuery 没有设置正确的高度

javascript - jquery 在 Django 中不工作

javascript - 每次单击复选框时,弹出窗口都会一致显示

javascript - 动画标题 Bootstrap 3 轮播

javascript - 用于简单 ajax 网站的 Fetch as Google 工具无法正常工作

javascript - j轮播不工作

javascript - 当前浏览器的净宽和净高