我有以下代码:
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>
答案 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);
});