我想在下拉列表中附加文本框值,当用户可以更改文本框值时,应将现有值替换为选项标记中的更改值,而不选择我如何执行此操作
var valuedata
$('.txtbox1').click(function (){
valuedata = $(this).val();
});
$('.txtbox1').focusout(function (){
var data = $(this).val();
if ($('.ddl [value ="' + valuedata + '"]').val() == valuedata) {
alert(valuedata);
$('.ddl').append($("<option value=" + data + " ></option>").html(data).val(data));
}
else {
$(".ddl [value='" + valuedata + "']").val(data);
}
});
答案 0 :(得分:1)
试试这个:
$('select option:contains("old_text")').text('new_text');
要检查是否附加选项:
$("select option").each(function(i,obj){
if($(obj).text() == "your_text"){
console.log("yes");
}
})
答案 1 :(得分:0)
[value $(".ddl [value='" + valuedata + "']").val(data);
之前有空格可能有问题。所以,删除那个空格:
$(".ddl[value='" + valuedata + "']").val(data);
使用html而不是像这样追加:
$('.ddl').html($("<option value=" + data + " ></option>")
答案 2 :(得分:0)
DEMO: http://jsfiddle.net/c2Ry8/
$(document).ready(function() {
$('.txtbox1').focusout(function (){
var data = $(this).val();
$('.ddl').append("<option value=" + data + " >"+data+"</option>");
});
});