G+

Получить Button Value с jQuery в IE

Программирование Asp.net
Предыдущий Следующий

Есть простой html-код.

<button class="my_button" name="buttonName" value="buttonValue"> 
    Button Label
</button>

Нужно получить атрибут value этой кнопки. Первое что приходит в голову, вот такой код:

<script type="text/javascript"> 
    $
(document).ready(function() { 
        $
('.my_button').click(function() { 
            alert
($(this).val()); 
       
}); 
   
}); 
</script> 

Но как оказывается, он не работает в IE. Есть несколько решений этой проблемы

Первая, это получать значения так:

alert($(this).attr("value"));

Но этот код не работает в IE6, для него придется писать, вот такие маневры

var label = $(this).text();  
$
(this).text(''); 
var buttonValue = $(this).val(); 
$
(this).text(label); 

 Но самое правильное решение написать доработку, для всего сайта

jQuery(function($) { 
 
   
if($.browser.msie) { 
        
jQuery.fn._orig_val = jQuery.fn.val 
 
        jQuery
.fn.val = function(value) { 
           
var elem = $(this); 
           
var html 
           
if(elem.attr('type') == 'button') { 
                

                html
= elem.html() 
                elem
.html('') 
           
} 
           
// Use original function 
           
var result = elem._orig_val(value); 
           
if(elem.attr('type') == 'button') { 
                elem
.html(html) 
           
} 
           
return result; 
       
} 
   
} 
})

Комментарий:
Комментариев пока нету
Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве