如何使用jQuery将按钮的类型从“按钮”更改为“提交”?

时间:2012-09-18 08:56:42

标签: jquery

我有以下表格:

<form id="xx">
<button type="button">Submit</button>
<button type="button">Submit and Close</button>
<button type="button">Close</button>
</form>

如何更改包含单词&#34;提交&#34;的按钮类型?从类型&#34;按钮&#34;一个类型&#34;提交&#34;?

4 个答案:

答案 0 :(得分:3)

我的按钮有一个id,例如“按钮”这可以通过以下方式获得:

$('#button').prop('type', 'submit');

如果您希望使用“提交”文本更改所有按钮的属性,可以通过以下方式实现:

$('button').each(function(){
    if($(this).text().indexOf("Submit") != -1){
        $(this).prop('type','submit');
    }
});

答案 1 :(得分:3)

$('button').filter(function(){
    return $(this).text().toLowerCase().indexOf('submit') != -1;
}).prop('type','submit');

首先过滤按钮,其中“提交”为文本,然后更改属性。

答案 2 :(得分:1)

在按钮中创建id并执行以下操作

$('#buttonid').replaceWith($('#buttonid').clone().attr('type', 'submit'));

答案 3 :(得分:0)

这样的事情应该有效(未经测试):

$('button').each(function() {
    if($(this).text().match(/submit/i)) {
        $(this).prop('type', 'submit');
    }
});

修改

值得指出的是,此处以及此处的所有其他答案在Internet Explorer中工作:

  

注意:jQuery禁止更改或上的type属性    元素并将在所有浏览器中抛出错误。这是   因为无法在Internet Explorer中更改type属性。

http://api.jquery.com/attr/

(我也用.prop()对此进行了测试,虽然没有抛出任何错误,但它不起作用)