您好我是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 code
<?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但我需要打印所有值。 感谢
答案 0 :(得分:0)
您是否正在尝试根据php查询的结果在select html元素中输出选项?
首先,这是我认为你要做的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);
}
});
//
});
假设查询返回多行,并且您希望它们在javascript中的indiaStateOption对象内输出,则可以使用
<?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);
}
顺便说一下,如果可能的话,我建议你不要在你的php中使用mysql_query,它会被折旧。使用PDO或mysqli。
我的答案充满了假设,我没有时间对它进行全面测试,所以请在我错误的地方纠正我。
答案 1 :(得分:0)
您可以轻松地使用JSON对象在javascript中返回多个对象。从.js脚本文件返回一个JSON对象,并使用jquery在javascript中检索相应的值。
答案 2 :(得分:0)
返回一个对象。
var result = {};
result.a=20;
result.x='ABC';
return result;
然后您可以访问返回的对象属性,如下所示:
alert(result.x);
alert(result.a);
答案 3 :(得分:0)
您可以使用命名键轻松返回数组或对象,javascript的内联创建语法使其变得非常简单。
数组示例:
return [value1, value2, finalValue];
对象示例:
return {
value1Name: value1,
value2Name: value2,
finalValueName: finalValue
}