Pregunta

Tengo el siguiente marcado y quiero que se marque el botón de opción All .

<ul>
    <li><input type="radio" value="All" name="Foo"/>All</li>
    <li><input type="radio" value="New" name="Foo"/>New</li>
    <li><input type="radio" value="Removed" name="Foo"/>Removed</li>
    <li><input type="radio" value="Updated" name="Foo"/>Updated</li>
</ul>

Me gustaría hacer coincidir a través de un atributo, pero necesito coincidir en 2 atributos, @ name = 'Foo' y @ value = 'All' .

Algo como esto:

$("input[@name='Foo' @value='all']").attr('checked','checked');

¿Puede alguien mostrar cómo se puede hacer esto?

¿Fue útil?

Solución

El siguiente archivo HTML muestra cómo puedes hacer esto:

<html>
  <head>
    <script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        $("a").click(function(event){
          $("input[name='Foo'][value='All']").attr('checked','checked');
          event.preventDefault();
        });
      });
    </script>
  </head>
  <body>
    <ul>
      <li><input type="radio"  value="All"  name="Foo"  />All</li>
      <li><input type="radio"  value="New"  name="Foo"  />New</li>
      <li><input type="radio"  value="Removed"  name="Foo"  />Removed</li>
      <li><input type="radio"  value="Updated"  name="Foo"  />Updated</li>
    </ul>
    <a href="" >Click here</a>
  </body>
</html>

Al hacer clic en el enlace, se selecciona el botón de opción deseado. La línea importante es la que establece el atributo checked .

Otros consejos

Estaba golpeando mi cabeza contra un muro similar a este y solo quiero señalar que en jQuery 1.3 la sintaxis utilizada en la respuesta aceptada es la ÚNICA sintaxis que funcionará. El interrogador utiliza la sintaxis de @ para la expresión que no funciona en absoluto en jQuery. Esperemos que esto ayude al próximo tipo a encontrar esta pregunta a través de Google = p

Para ser claro, tienes que usar

jQuery('input[name=field1][val=checked]') 

y no

jQuery('input[@name=field1][@val=checked]')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top