修改选项(select)元素的值



我试图选择<select>表单元素的选定值,并将该值与-R附加在一起。(这将用于后面的正则表达式匹配)。无论如何,到目前为止,我尝试了以下方法:

尝试1:

var country = $('select[name=g_country\['+value+'\]]').val(); 
$('select[name=g_country\['+value+'\]]').find('option[value=' + value +']').val(country + '-R');

尝试2:

var country = $('select[name=g_country\['+value+'\]]').val();
$('select[name=g_country\['+value+'\]]').val(country + '-R');

我可以告诉,正确的表单元素的选择(使用delete_x,其中x是一个数字)工作良好,作为表单元素禁用时,点击.select-delete,但值设置没有。底部的注释部分是我一直用来检查<select>元素值更改后的值(或应该是值更改后的值)。

这是一个链接到我的jsFiddle: http://jsfiddle.net/gPF8X/11/

任何帮助/编辑/答案将非常感谢!

试试这个:

 $('.select-delete').click( function() {
    var value = $(this).attr('id');
    value = value.replace('delete_', '');
    var country = $('select[name=g_country\['+value+'\]] option:selected').val() + '-R';
     alert(country);
    $('select[name=g_country\['+value+'\]] option:selected').val(country);
    $('select[name=g_country\['+value+'\]]').attr('disabled','1');
    $('input[name=g_url\['+value+'\]]').attr('disabled','1');
    $(this).css('display', 'none');
    var check = $('select[name=g_country\['+value+'\]]').val();
    $('#test').append(check);
});

你的HTML也有问题。

终于想出了合适的选择器,感谢@gjohn的创意。

这是我最后的工作代码,适当地将-R添加到g_country[x]的末尾:
$('.select-delete').click( function() {
    var value = $(this).attr('id');
    value = value.replace('delete_', '');
    var country = $('select[name=g_country\['+value+'\]]').val();
    $('select[name=g_country\['+value+'\]] > option:selected').val(country + '-R');
    $('select[name=g_country\['+value+'\]]').attr('disabled','1');
    $('input[name=g_url\['+value+'\]]').attr('disabled','1');
    $(this).css('display', 'none');
});

最新更新