Autocomplete 2 ids

dsNDesign

Erfahrenes Mitglied
Hei,
ich habe ein kleines Problem mit dem jQuery Autocomplete Script.
Mein Script sieht wiefolgt aus:
HTML:
<script type='text/javascript' src='./lib/jquery.bgiframe.min.js'></script>
<script type='text/javascript' src='./lib/jquery.ajaxQueue.js'></script>
<script type='text/javascript' src='./js/jquery.autocomplete.js'></script>
<link rel="stylesheet" type="text/css" href="./css/jquery.autocomplete.css" />
<script type="text/javascript">
$().ready(function() {
	$("#album_rights").autocomplete(album_rights, {
		minChars: 1,
		max: 12,
		autoFill: true,
		mustMatch: true,
		matchContains: false,
		scrollHeight: 220
	});
	$("#members").autocomplete(members, {
		minChars: 1,
		max: 12,
		autoFill: true,
		mustMatch: false,
		matchContains: false,
		scrollHeight: 220
	});
});
</script>

Funktionieren tut es soweit auch. Jedoch nur mit dem Div "album_rights". Bei diesem funktioniert es perfekt. Beim Div "members" tut sich jedoch nichts. Setzte ich in dem Script den "members" Teil jedoch vor den "album_rights" Teil, geht das member-div, jedoch der album_rights-div nicht.

Ich möchte 2 verschiedene Textfelder damit füllen. Jedoch geht immer nur das, welches im Code am Anfang steht. Wo liegt der Fehler?

Meine Textfelder:
HTML:
<input id="album_rights" type="text" name="album_rechte" class="album_input_form2" />
und
HTML:
<input id="members" type="text" name="members" />

Gruß
 
So, ich beginne mich dem Problem zu nähern.

Es liegt an folgendem:

Code:
$("#album_rights").autocomplete(album_rights, {

bzw um genau zu sein daran: (album_rights,
Das steht ja für ein Array. Wenn ich dies durch folgendes ersetze:
Code:
$("#album_rights").autocomplete(["name1", "name2", "name3"], {
funktioniert auch das 2.

Nochmal zusammengefasst:

Code:
<script type="text/javascript">
$().ready(function() {
	$("#album_rights").autocomplete(album_rights, {
		minChars: 1,
		max: 12,
		autoFill: true,
		mustMatch: true,
		matchContains: false,
		scrollHeight: 220
	});
	$("#members").autocomplete(members, {
		minChars: 1,
		max: 12,
		autoFill: true,
		mustMatch: false,
		matchContains: false,
		scrollHeight: 220
	});
});
</script>

Autocomplete funktioniert nur bei div #album_rights


Code:
<script type="text/javascript">
$().ready(function() {
	$("#album_rights").autocomplete(["name1", "name2", "name3"], {
		minChars: 1,
		max: 12,
		autoFill: true,
		mustMatch: true,
		matchContains: false,
		scrollHeight: 220
	});
	$("#members").autocomplete(members, {
		minChars: 1,
		max: 12,
		autoFill: true,
		mustMatch: false,
		matchContains: false,
		scrollHeight: 220
	});
});
</script>

Autocomplete funktioniert bei div #album_rights UND #members.

Wie kann ich das beheben?
Meine Arrays fülle ich normal wiefolgt:
PHP:
$usr_id = $_SESSION["usr_id"];
	$select = "SELECT friend_id FROM friends WHERE usr_id = '$usr_id' AND stat = 'ok'";
	$result = $mysqli->query($select);
	while($row = $result->fetch_array()) {
			$friend_id[] = $row['friend_id'];
		}
	$friend_id_sql_set = implode(',',$friend_id);
	$sql = "SELECT username FROM user WHERE FIND_IN_SET(id,'{$friend_id_sql_set}')";
	$result2 = $mysqli->query($sql);
		while($zeile = $result2->fetch_array()) {
			$album_rights[] = $zeile['username'];
	}
	?>
    <script type="text/javascript">
		var album_rights = new Array ();
		<?php
		   for ($i = 0; $i < sizeof ($album_rights); $i++)
		      echo "album_rights[$i] = '" . $album_rights[$i] . "';\n";
		?>
	</script>

Hoffe, mir kann nun jemand helfen.

Gruß
 
Zurück