Jquery .text()连接而不是替换

时间:2016-08-23 13:30:38

标签: jquery select2

我有以下代码:

var customer = $('#customer');

customer.on('change', function(){
    var dom = $(customer.find('option'));
    var txt = dom.text();

    $('#settingsoption1label').show().find('span.mdl-radio__label').text(txt);
});

每当我更改使用Select2插件的#customer下拉列表时,customer元素中的文本会连接而不是替换。我还尝试添加empty()html(''),但到目前为止似乎没有任何效果。我希望用所选值替换字符串而不是连接。现在,当我更改下拉列表时,下拉列表的值只会添加到span元素的末尾。

修改

这是我的HTML。我正在使用Laravel。

<div class="form-group" >
    @if(Auth::user()->is(3) || Auth::user()->is(1))
    <label for="customer">Klant<br></label>
    <select id="customer" name="customer" class="searchselect searchselectstyle searchgroup1">
        @if(Request::old('customer') != NULL)
            <option value="{{Request::old('customer')}}">{{$customers->where('id', intval(Request::old('customer')))->first()->name}}</option>
        @endif
    </select>
    @endif
</div>

1 个答案:

答案 0 :(得分:3)

  

.text():... .text()方法的结果是一个包含所有匹配元素的组合文本的字符串。 ....

因此,您可以尝试仅获取所选选项:

    var customer = $('#customer');

    customer.on('change', function(){
        var dom = customer.find('option:selected');
        var txt = dom.text();

        $('#settingsoption1label').show().find('span.mdl-radio__label').text(txt);
    });