2011-10-18 157 views
1

我试图选择<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/

任何帮助/编辑/答案将不胜感激!

回答

0

最后想出了正确的选择器,道具为@gjohn的想法。

这是我最后的工作代码,即适当增加-Rg_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'); 
}); 
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也是一个问题。

+0

的'的.text()'功能的工作原理与文本插图中的HTML标签,我需要做的是操纵价值,而不是内部的文字。另外,有没有可能指出我有什么HTML问题,因为它对我来说很好? – Avicinnian

+0

对不起,我的HTML不好。我一定是幻觉。它的工作正常。 – gjohn

+0

更新了jquery代码 - 它现在正在更新选择菜单上的值。 – gjohn