选择中的独特附加

时间:2016-09-13 00:45:20

标签: jquery

  

当我追加时,我将如何区分选择的值。见下面的示例输出

enter image description here

 $(document).ready(function(){
    $("#example2").on('click',"tr#paymentedit", "click", function(data){


        var valuetoedit = new Option(($(this).find('td:eq(2)').html()), "value");
    valuetoedit.selected=true;
    $("#paymenttypeedit").append(valuetoedit);      
        });
    });

1 个答案:

答案 0 :(得分:0)

测试每个选项以查看是否存在具有类似比较值的值,并且可能用现有值替换输入的值(反之亦然)

您可能希望避免使用选项的文本/标签作为值。如果您不这样做,则无需将所有值设置为“值”(改为使用valuetoedit = new Option(($(this).find('td:eq(2)').html()));

function foo() {
	var valuetoedit = $('#foo').val();
	var uniq = true;
	var options = $("#paymenttypeedit option");
	for(var i=0; uniq && i < options.length; i++) {
	    if (valuetoedit.toUpperCase() === options[i].text.toUpperCase()) {
	        uniq = false;
	        valuetoedit = this.text; // use the existing value
	    }
	}
	if (uniq) {
	    $("#paymenttypeedit").append(new Option(valuetoedit, null, false, true));
	}
}

function init() {
	$('#but').on('click', foo);
}

$(document).ready(init);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<select id="paymenttypeedit"></select>
<input id="foo" type="text">
<button id="but">&nbsp;</button>