我试图选择<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');
});