Привет, я новичок в javascript. Мне нужно вернуть несколько значений из таблицы. В настоящее время jscript возвращает только первое значение из таблицы.
Мой javascript
<script>
jQuery(document).ready(function($){
$("#countryDropDown").change(function()
{
var country=$(this).val();
function fillStateDropDown(countryStateOption)
{
$.each(countryStateOption, function(val, text) {
$('#stateDropDown').append(
$('<option></option>').val(val).html(text));
});
}
function clearStateDropDown()
{
$('#stateDropDown option:gt(0)').remove();
}
if(country=='Art1')
{
clearStateDropDown();
var indiaStateOption={
'<?=$row['service']?>' : '<?=$row['service']?>',
};
fillStateDropDown(indiaStateOption);
}
PHP-код
<?php
$select=mysql_query("select * from service where status=1") or die(mysql_error());
while($row=mysql_fetch_array($select)){
?>
Значения таблиц
A | b | v | v |
В настоящее время возвращается первое значение A, но мне нужно распечатать все значения. благодаря
вернуть объект.
var result = {};
result.a=20;
result.x='ABC';
return result;
то вы можете получить доступ к свойствам возвращаемого объекта следующим образом:
alert(result.x);
alert(result.a);
Вы можете легко использовать объекты JSON возвращать несколько объектов в javascript. Верните объект JSON из файла сценария.js и получите соответствующие значения в javascript с помощью jquery.
Вы пытаетесь вывести параметры в элементе select html на основе результатов запроса php?
Во-первых, вот грубый макет того, что я думаю, вы пытаетесь сделать http://jsfiddle.net/Lj4rqkpy/
<body>
<select id="countryDropDown">
<option value="Art1">this shows first</option>
<option value="Art1">select me to trigger on change</option>
</select>
<select id="stateDropDown">
<option value="">This will be cleared</option>
</select>
</body>
jQuery(document).ready(function($)
{
$("#countryDropDown").change(function()
{
var country = $(this).val();
function fillStateDropDown(countryStateOption)
{
$.each(countryStateOption, function(val, text)
{
$('#stateDropDown').append(
$('<option></option>').val(val).html(text)
);
});
}
function clearStateDropDown()
{
$('#stateDropDown').html('');
}
if(country == 'Art1')
{
clearStateDropDown();
var indiaStateOption = {
'testService' : 'testService', 'testService2' : 'testService2'
};
fillStateDropDown(indiaStateOption);
}
});
//
});
Предполагая, что запрос возвращает несколько строк, и вы хотите, чтобы они были выведены внутри объекта indiaStateOption в вашем javascript, вы можете использовать
<?php
$serviceJSOutput = '';
$select=mysql_query("select * from service where status=1") or die(mysql_error());
while($row=mysql_fetch_array($select)){
$serviceJSOutput .= "'" . $row['service'] . "' : '" . $row['service'] . "',";
}
// remove the last comma
$serviceJSOutput = rtrim($serviceJSOutput, ",");
?>
а затем в js заменить оператор if с помощью
if(country == 'Art1')
{
clearStateDropDown();
var indiaStateOption = {
<?=$serviceJSOutput?>
};
fillStateDropDown(indiaStateOption);
}
В качестве альтернативы я бы рекомендовал вам отказаться от использования mysql_query в вашем php, если это возможно, оно обесценивается. Используйте PDO или mysqli.
Мой ответ заполнен предположениями, и я не успел его полностью протестировать, поэтому, пожалуйста, поправьте меня, где я ошибаюсь.
Вы можете легко вернуть массив или объект с именованными ключами, синтаксис синтаксиса javascript делает его очень легким.
Пример массива:
return [value1, value2, finalValue];
Пример объекта:
return {
value1Name: value1,
value2Name: value2,
finalValueName: finalValue
}