当我追加时,我将如何区分选择的值。见下面的示例输出
$(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);
});
});
答案 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"> </button>