从函数中删除文本(我认为)

时间:2010-06-04 00:51:30

标签: javascript jquery

我正在尝试删除“change_option”中的“_”。我设法添加了类,但是就是这样

<select onchange="change_option('SELECT___100E___7',this.options[this.selectedIndex].value)" name="SELECT___100E___7" class="link_fix3">

这是我到目前为止的代码......

$("form select[onchange^='change_option']")
    .addClass('link_fix3')
    .attr('onchange', function(k,x){
     return x.replace('_','');})

2 个答案:

答案 0 :(得分:0)

在不了解内部情况的情况下,您似乎正在尝试调用changeoption(name, value),您可以在jQuery中完全执行此操作,如下所示:

$("form select[onchange^='change_option']")
  .addClass('link_fix3')
  .change(function() {
    changeoption(this.name, $(this).val());
  });

虽然有更多细节,但这可能更简单,例如,最初给<select>一个类是一个选项吗?这会让选择器更加清晰,然后你可以完全取消初始的onchange属性......你必须承认这看起来更漂亮:)

<select name="SELECT___100E___7" class="link_fix3">

这样的剧本:

$("form select.link_fix3").change(function() {
  changeoption(this.name, $(this).val());
});

如果您发布了changeoption函数的样子,我可以改进答案以显示其他简化,如果我提供的这些选项中的任何一个都可行...我知道程序员可以控制标记因人而异,所以请告诉我们您的选项。

答案 1 :(得分:0)

只是一个想法...如果你这样做,

$("form select[onchange^='change_option']")
    .addClass('link_fix3')
    .attr('onchange', function(k,x){
     return x.replace('_','');})

输出将是,

onchange="changeoption('SELECT00E7',this.options[this.selectedIndex].value)" // notice your, 'SELECT___100E___7'

我建议这个,

$("form select[onchange^='change_option']")
        .addClass('link_fix3')
        .attr('onchange', function(k,x){
         return x.replace('change_option','changeoption');})

也就是说,如果你真的想以这种方式解决它......