jQuery corrisponde a più attributi
-
03-07-2019 - |
Domanda
Ho il seguente markup e desidero verificare il pulsante di opzione 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>
Vorrei abbinare tramite l'attributo, ma devo abbinare su 2 attributi, @ name = 'Foo'
e @ value = 'All'
.
Qualcosa del genere:
$("input[@name='Foo' @value='all']").attr('checked','checked');
Qualcuno può mostrare come è possibile farlo?
Soluzione
Il seguente file HTML mostra come è possibile farlo:
<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>
Quando si fa clic sul collegamento, viene selezionato il pulsante di opzione desiderato. La riga importante è quella che imposta l'attributo controllato
.
Altri suggerimenti
Stavo battendo la testa contro un muro simile a questo e voglio solo sottolineare che in jQuery 1.3 la sintassi utilizzata nella risposta accettata è l'UNICA sintassi che funzionerà. L'interrogante utilizza la sintassi @ per l'espressione che non funziona affatto in jQuery. Speriamo che questo aiuti il ??prossimo a rispondere a questa domanda tramite Google = p
Per essere chiari, devi usare
jQuery('input[name=field1][val=checked]')
e non
jQuery('input[@name=field1][@val=checked]')