http://jsfiddle.net/tossr6ss/

以上是我的小提琴

jQuery

$('#Company').change(function(){
        var companyid = $(this).val();
        var PrsIDNo = $('#PrsIDNo').val();
        $('#PrsIDNo').val(companyid+PrsIDNo);
});

我想要的是我试图根据下拉列表获取唯一编号,但是现在我的输出就像3215040003323315040003一样,同时更改值并附加值。如何停止呢?

预期输出
Changing value concat 15040003321504000333150400033115040003
像上面的输出一样,我需要如何实现?

最佳答案

要停止不断添加新值,您需要存储页面加载时的原始值。为此,使用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>

09-30 17:26
查看更多