ich ein jsFiddle für meine Frage vorbereitet haben:Holen Sie sich alle Kontrollkästchen aktiviert, möglicherweise mit demselben Wert
In einem Wortspiel würde Ich mag einen Dialog mit allen Buchstaben Fliesen in der Hand des Spielers angezeigt werden - und Erlaube ihr, einige zum Tauschen mit dem Stapel auszuwählen.
Die Buchstaben sind nicht eindeutig, zum Beispiel könnte ein Spieler eine Hand "ABCDAB" wie im obigen Screenshot haben - und wählen Sie "ABA" zum Tauschen.
Hier ist mein Code -
HTML (mit Dialog und Taste):
<div id="swapDlg" title="Swap letters">
<p>Select letters for swapping:</p>
<div id="swapList">
</div>
</div>
<button id="swapBtn">Swap letters</button>
JavaScript:
$(function() {
$('#swapDlg').dialog({
modal: true,
minWidth: 400,
autoOpen: false,
buttons: {
'Swap': function() {
$(this).dialog('close');
var result = 'How to get all selected letters?' // HERE
alert('You would like to swap: ' + result);
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
$('#swapBtn').button().click(function(e) {
e.preventDefault();
$('#swapDlg').dialog('open');
});
var str = 'AB*CD*AB';
var checkBoxes = [];
for (var i = 0; i < str.length; i++) {
var letter = str[i];
if (letter != '*') {
checkBoxes.push('<label><input type="checkbox" value="' +
letter + '"> ' + letter + '</label>');
}
}
$('#swapList')
.empty()
.append(checkBoxes.join('<br>'));
});
Bitte helfen Sie mir mit der Linie durch die markiert // HERE
kommentieren.
Wie bekomme ich das Ergebnis als String mit allen checked Werten?
Dies würde ein Array zurück, dann würden Sie müssen noch eine Reduktionsoperation (z. B. '.join()') eine Zeichenfolge zu erhalten – blgt
@blgt Sie absolut richtig sind, hier ist die Geige mit einem .join (""): [Geige] (http://jsfiddle.net/6nddum4q/5/) –