改变选项(选择)元素的值?

时间:2011-10-18 00:11:14

标签: javascript jquery html css

我正在尝试选择<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/

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

2 个答案:

答案 0 :(得分:1)

试试这个:

 $('.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也存在问题。

答案 1 :(得分:0)

最后提出了正确的选择器,为@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');
});