Jquery .text() 连接而不是替换
Jquery .text() concatenates instead of replaces
我有如下一段代码:
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>
.text(): ...The result of the .text() method is a string containing the combined text of all matched elements. ....
因此,您可以尝试只获取选定的选项:
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);
});
我有如下一段代码:
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>
.text(): ...The result of the .text() method is a string containing the combined text of all matched elements. ....
因此,您可以尝试只获取选定的选项:
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);
});