在select中删除选项的部分值

时间:2015-03-09 09:13:06

标签: jquery

我有一个select多个options用于我的WordPress网站的档案。

select看起来像这样:

<select name="m" onchange="this.form.submit()" title="Archive">
    <?php $archives = wp_get_archives( array( 'format' => 'option' ) ); ?>
    <?php echo $archives ;?>
</select>

生成一个如下所示的选择:

<select name="m" onchange="this.form.submit()" title="Archive">
    <option value="http://site_name/?m=201503">march 2015</option>
    <option value="http://site_name/?m=201501">january 2015</option>
</select>

现在,我想从http://site_name/?m=中的value属性中移除option部分。

我认为jQuery是最好的选择,但我不知道从哪里开始使用jQuery。

4 个答案:

答案 0 :(得分:0)

在dom准备就绪后,您可以将其删除,如

jQuery(function ($) {
    $('select[name="m"] option').attr('value', function (i, v) {
        return v.match(/\d+$/)[0]
    })
})

演示:Fiddle

答案 1 :(得分:0)

在doc ready上使用它:

&#13;
&#13;
    $('select[title="Archive"]').find('option').each(function() {
      var newVal = this.value.split('=')[1];
      this.value = newVal;
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select name="m" onchange="this.form.submit()" title="Archive">
  <option value="http://site_name/?m=201503">march 2015</option>
  <option value="http://site_name/?m=201501">january 2015</option>
</select>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用javascript replace

请参阅此fiddle

 $('option').each(function(i,ele){
        var x=$(ele).val();
        $(ele).val(x.replace("http://site_name/?m=", ""));
    });

将代码放入文档就绪函数

答案 3 :(得分:0)

试试这个Demo Here

$('select option').each(function(i,element){
        var optvalue=$(element).val();
        var result = optvalue.replace("http://site_name/?m=", "");
    console.log(result);
      $(element).val(optvalue.replace("http://site_name/?m=", ""));
    });