Füllen erzeugen ich ein paar <div>
mit Informationen wie folgt aus:ein Formular mit JQuery nach Seite lädt
@foreach($variables as $variable)
<div id="x1_{{$variable->id}}" value="{{$variable->x1}}"></div>
<div id="x2_{{$variable->id}}" value="{{$variable->x2}}"></div>
<div id="y1_{{$variable->id}}" value="{{$variable->y1}}"></div>
<div id="y2_{{$variable->id}}" value="{{$variable->y2}}"></div>
<div id="page_{{$variable->id}}" value="{{$variable->page}}"></div>
<div id="direction_{{$variable->id}}" value="{{$variable->direction}}"></div>
<div id="variable_{{$variable->id}}" value="{{$variable->variable}}"></div>
@endforeach
Dann möchte ich ein Formular ausfüllen, wenn die Website geladen wird, und wann immer die Drop-Down-Änderungen. Die Dropdown-Änderung funktioniert, aber die Füllung beim Laden nicht. Hier ist die javascript:
Das funktioniert nicht:
$(document).ready(function() {
var drowndown_value = $(this).children(":selected").attr("value");
var x1 = $("#x1_" + drowndown_value).attr("value");
var x2 = $("#x2_" + drowndown_value).attr("value");
var y1 = $("#y1_" + drowndown_value).attr("value");
var y2 = $("#y2_" + drowndown_value).attr("value");
var variable = $("#variable_" + drowndown_value).attr("value");
var regex = $("#regex_" + drowndown_value).attr("value");
var direction = $("#direction_" + drowndown_value).attr("value");
var page = $("#page_" + drowndown_value).attr("value");
$("#x1").val(x1);
$("#y1").val(y1);
$("#y2").val(y2);
$("#x2").val(x2);
$("#page").val(page);
$("#direction").val(direction);
$("#regex").val(regex);
$("#variable").val(variable);
});
Dies funktioniert:
$("#variabledropdown").change(function() {
var drowndown_value = $(this).children(":selected").attr("value");
var x1 = $("#x1_" + drowndown_value).attr("value");
var x2 = $("#x2_" + drowndown_value).attr("value");
var y1 = $("#y1_" + drowndown_value).attr("value");
var y2 = $("#y2_" + drowndown_value).attr("value");
var variable = $("#variable_" + drowndown_value).attr("value");
var regex = $("#regex_" + drowndown_value).attr("value");
var direction = $("#direction_" + drowndown_value).attr("value");
var page = $("#page_" + drowndown_value).attr("value");
$("#x1").val(x1);
$("#y1").val(y1);
$("#y2").val(y2);
$("#x2").val(x2);
$("#page").val(page);
$("#direction").val(direction);
$("#regex").val(regex);
$("#variable").val(variable);
});
Ich bin eine wilde Vermutung zu nehmen und denken, dass:
var drowndown_value = $(this).children(":selected").attr("value");
Ist das Problem hier, aber ich bin mir nicht sicher, wie ich es beheben soll. Irgendwelche Vorschläge.
Versuchen 'var drowndown_value = $ (this) .children (": ausgewählt"). Val() ; ' – T30
Bei Laden ist eigentlich nichts ausgewählt, so dass Sie nie Kinder mit: ausgewählt finden. Sie müssen einen Standard als ausgewählt – ScanQR
Nur FYI Sie sollten 'val()' anstelle von 'attr ('Wert')' –