以上是我的小提琴
Jquery的
$('#Company').change(function(){
var companyid = $(this).val();
var PrsIDNo = $('#PrsIDNo').val();
$('#PrsIDNo').val(companyid+PrsIDNo);
});
我想要的是尝试根据下拉列表获取唯一编号,但现在我的输出类似于3215040003
,323315040003
,同时更改值会更改值正在追加。如何停止?
预期输出
Changing value concat 15040003
3215040003
3315040003
3115040003
答案 0 :(得分:1)
要停止不断添加新值,您需要将原始值存储在页面加载时。使用data
属性是理想的选择。然后在下拉列表的change
事件中,您可以检索该值并附加到该值。试试这个:
$('#PrsIDNo').data('original-value', $('#PrsIDNo').val());
$('#Company').change(function () {
var companyid = $(this).val();
var PrsIDNo = $('#PrsIDNo').data('original-value');
$('#PrsIDNo').val(companyid + PrsIDNo);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select class="choiceSelect my_prs_sele" id="Company" readonly="readonly" name="Company">
<option value="">Choose</option>
<option value="32">Com1</option>
<option value="33">Com2</option>
<option value="31" selected="selected">Com3</option>
</select>
<input class="my_prs_inp" id="PrsIDNo" name="PrsIDNo" type="text" value="15040003">
<div id="PresNo"></div>
&#13;
答案 1 :(得分:0)
问题是每次设置PrsIDNo的值时,该新值将用于后续调用和设置。需要存储初始值,以使其不会发生变化。
更改&#39; 15040003&#39;存储在PrsIDNo的值中,而不是存储在name属性中,如下所示:
<input class="my_prs_inp" id="PrsIDNo" name="15040003" type="text">
然后,确保name属性最初用于形成PrsIDNo值:
$('#Company').change(function(){
var companyid = $(this).val();
var PrsIDNo = $('#PrsIDNo').attr("name"); // Use name attribute instead
$('#PrsIDNo').val(companyid + PrsIDNo);
});
答案 2 :(得分:0)
请使用以下代码 http://jsfiddle.net/mayankipsa/tossr6ss/2/
$('#Company').change(function(){
alert($(this).val());
var initial=15040003;
var companyid = $(this).val();
var res= companyid+initial;
$('#PrsIDNo').val(res);
});
<select class="choiceSelect my_prs_sele" id="Company" readonly="readonly" name="Company"><option value="">Choose</option><option value="32">Com1</option><option value="33">Com2</option><option value="31" selected="selected">Com3</option></select>
<input class="my_prs_inp" id="PrsIDNo" name="PrsIDNo" type="text" value="15040003">
<div id="PresNo"></div>
答案 3 :(得分:0)
这是你想要的:
$('#Company').change(function(){
var companyid = $(this).val();
var PrsIDNo = $('#PrsIDNo').val();
$('#PresNo').text(companyid+PrsIDNo);
}).trigger('change');
再次运行〜