2016-04-27 9 views
-1

Ich möchte eine Situation, wo ich die Indizes eines Arrays als Optionen in einer Auswahl anhängen können. Der folgende Code schlägt fehl.Ich möchte Indizes eines Arrays in eine anhängen, wo Auswahloptionen Indizes des Arrays sind

<?php 
    $str4 = "select * from fee_names where status = '1' "; 
    $res4 = mysql_query($str4) or die(mysql_error()); 
    while ($r4 = mysql_fetch_assoc($res4)){ 
     $name = $r4['NAME']; 
     array_push($fee_nameArray,$name); 
    } 
>? 
<input type="text" name="fee_name" id="fee_name" value="<?php echo $fee_nameArray; ?>">  
$('#addClasses').click(function(){ 
    var arrayNAme = $('#fee_name').val(); 
    //alert(arrayNAme.length); return false; 
    row++; 
    $('#count').val(row); 
    var feeName = "feeName"+row; 
    var feeCat = "feeCat"+row; 
    var freq = "freq"+row; 
    var others = "others"+row; 
    var mandate = "mandate"+row; 
    var rowID = "rowID"+row; 
    $('#table_mile35').prepend('<tr id="' + rowID + '"><td><select class="form-control" id="' + feeName + '" name="' + feeName + '" required><option value="" selected="selected">--Choose Class--</option>' 
    for (i = 0; i < arrayNAme.length; i++) { 
     '<option value="' + arrayNAme[i] + '">' + arrayNAme[i] + '</option>' 
    } 
    '</select></td><td><input type="text" class="form-control input-sm " name="' + feeCat + '" id="' + feeCat + '" placeholder="school fees related, club related" required></td><td><input type="text" class="form-control input-sm " name="' + freq + '" id="' + freq + '" placeholder="Yearly, Monthly" required></td><td><textarea type="text" class="form-control input-sm" name="' + others + '" id="' + others + '" placeholder="other relevant information" ></textarea></td><td><input type="checkbox" name="' + mandate + '" id="' + mandate + '" value="1"></td></tr>'); 
}); 
+0

Erstens können Sie keine 'for' -Schleife in der Mitte einer Zeichenfolge platzieren, Sie müssen die Werte anhängen. Zweitens ist 'arrayNAme' eine Zeichenkette. Wenn Sie also darüber iterieren, erhalten Sie nur jedes Zeichen der Zeichenkette einzeln, was meiner Meinung nach nicht das von Ihnen gewünschte Verhalten ist. –

+0

Was ist ArrayNAme hier ?? –

+0

Können Sie hier den Wert von arrayNAme zeigen? –

Antwort

0

wenn Arrayname ein Array ist, verwenden Sie wie folgt aus:

$('#addClasses').click(function(){ 
    var arrayNAme = $('#fee_name').val(); 
    arrayNAme = arrayNAme.split(','); 
    row++; 
    $('#count').val(row); 
    var feeName = "feeName"+row; 
    var feeCat = "feeCat"+row; 
    var freq = "freq"+row; 
    var others = "others"+row; 
    var mandate = "mandate"+row; 
    var rowID = "rowID"+row; 
    var html = '<tr id="' + rowID + '"><td><select class="form-control" id="' + feeName + '" name="' + feeName + '" required><option value="" selected="selected">--Choose Class--</option>'; 
    for (i = 0; i < arrayNAme.length; i++) { 
     html += '<option value="' + arrayNAme[i] + '">' + arrayNAme[i] + '</option>'; 
    } 
    html += '</select></td><td><input type="text" class="form-control input-sm " name="' + feeCat + '" id="' + feeCat + '" placeholder="school fees related, club related" required></td><td><input type="text" class="form-control input-sm " name="' + freq + '" id="' + freq + '" placeholder="Yearly, Monthly" required></td><td><textarea type="text" class="form-control input-sm" name="' + others + '" id="' + others + '" placeholder="other relevant information" ></textarea></td><td><input type="checkbox" name="' + mandate + '" id="' + mandate + '" value="1"></td></tr>'; 
    $('#table_mile35').prepend(html); 
}); 

Ich angenommen Wert von Arrayname ist durch Komma getrennt (zum Beispiel: Studiengebühren, Buch, Anmeldegebühr)

+0

Vielen Dank @Aju John – dumebi

Verwandte Themen