Gibt es eine Möglichkeit, eine Auswahleingabe zu erstellen, wie wir sie für die Texteingabe im folgenden Abfragecode tun können? Der folgende Code funktioniert nicht für Select. Jede Hilfe wird sehr geschätzt.

   counter = 1;
   var searchInput = $(' <input/>', {
     type: 'text',
     placeholder: 'Product Name',
     name: 'row['+counter+'][product_name]',
            class : 'txtvalue',
     id: 'project' + counter
 });

    var quarterInput = $(' <input/>', {
    type: 'select',
    value: ('1','2','3'),
    name: 'row['+counter+'][quarter]',
class : 'text', 
    id: 'project-quarter' + counter
});
var hidd = $('<input/>', {
    type: 'hidden',
    name: 'searchhid' + counter,
    id: 'project-id' + counter
});

newTextBoxDiv.append(searchInput).append("&nbsp;").append(quarterInput).append(hidd);
newTextBoxDiv.appendTo("#TextBoxesGroup");
0
Prem 28 Nov. 2013 im 10:28

3 Antworten

Beste Antwort

Versuche dies

Auswahlelement erstellen

var ddl = $("<select id=\"ddlId\" name=\"ddlName\" />");

Fügen Sie nun Optionen hinzu

var data = {
    '1': '1',
    '2': '2',
    '3': '3', 
}

for(var val in data) {
    $("<option />", {value: val, text: data[val]});
}

newTextBoxDiv.append(ddl);

Weitere Informationen finden Sie unter Lesen Sie mehr.

1
Community 23 Mai 2017 im 10:31

Es gibt kein <input type="select" />. Sie suchen das select -Tag: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select

In jQuery wird dies mit $('<select />') erstellt, und Sie können dann Optionen hinzufügen. Um das Hinzufügen von Optionen zur Auswahl zu verdeutlichen, können Sie viele Ansätze wählen. Wenn Sie dies wiederholt tun, würde ich eine Factory-Funktion erstellen, die eine Liste der folgenden Optionen zurückgibt:

var generate_options = function(values){
    var options = [];
    if('splice' in values){
        for(var i = 0; i < values.length; i++){
            options.push($('<option>'+values[i]+'</option>').val(values[i]));
        }
    }
    return options;
}

$('<select />').append( generate_options([1,2,3,4]) );
0
Rob M. 28 Nov. 2013 im 06:43

Versuche dies



var data = {
    'foo': 'bar',
    'foo2': 'baz'
}


var s = $('<select />');

for(var val in data) {
    $('', {value: val, text: data[val]}).appendTo(s);
}

s.appendTo('body');


0
sushil bharwani 28 Nov. 2013 im 06:36