我在我的应用中使用Javascript。在我的表中,我有一个名为industry
的列,其中包含类似
id 69
name :aruna
username :aruna
email :artkjnjkn@sf.sd
password: bd09935e199eab3d48b306d181b4e3d1:i0ODTgVXbWyP1iFOV
type : 3
industry: | Insurance | Analytics | EIS and Process Engineering
实际上这个行业价值是从下拉框中选择的多选...
现在我正在尝试加载以使我的表单包含这些值
行业是下拉框
<select id="ind1" moslabel="Industry" onClick="industryfn();"mosreq="0" multiple="multiple" size="3" class="inputbox" name="industry1[]">'+
<option value="Banking and Financial Services">Banking and Financial Services</option>
<option value="Insurance">Insurance</option>
<option value="Telecom">Telecom</option>
<option value="Government ">Government </option>
<option value="Healthcare & Life sciences">Healthcare & Life sciences</option>
<option value="Energy">Energy</option>
<option value="Retail &Consumer products">Retail &Consumer products</option>
<option value="Energy, resources & utilities">Energy, resources & utilities</option>
<option value="Travel and Hospitality">Travel and Hospitality</option>
<option value="Manufacturing">Manufacturing</option>
<option value="High Tech">High Tech</option>
<option value="Media and Information Services">Media and Information Services</option>
</select>
如何保持行业价值(|保险|分析| EIS和流程工程)的选择?
编辑: Window.onDomReady(函数(){ 用户&GT;获得( '产业'); $ s = explode('|',$ str) ?&GT;
var selectedFields = new Array();
<?php for($i=1;$i<count($s);$i++){?>
selectedFields.push("<?php echo $s[$i];?>");
<?php }?>
for(i=1;i<selectedFields.length;i++)
{
var select=selectedFields[i];
for (var ii = 0; ii < document.getElementById('ind1').length; ii++) {
var value=document.getElementById('ind1').options[ii].value;
alert(value);
alert(select);
if(value==select)
{
document.getElementById('ind1').options[ii].selected=selected;
}//If
} //inner For
}//outer For
</script>
我已经尝试过以上警报功能正常工作。 但if循环无法正常工作.. 为什么这样..请帮帮我....
答案 0 :(得分:0)
将选定的值分解为数组,使foreach循环运行select的所有选项,如果这些值匹配,只需将selected =“selected”。
示例:强>
Javascript / PHP:
<script type="text/javascript">
Array.prototype.in_array = function( p_val ) {
for(var i = 0, l = this.length; i < l; i++) {
if(this[i] == p_val) {
return true;
}
}
return false;
}
// Swap this for normal onDomReady if you don't use jQuery
$(document).ready( function() {
<?php
$selected_from_db = "Insurance|Analytics|EIS and Process Engineering|Telecom";
$selected = explode( "|", $selected_from_db );
?>
var selected_fields = new Array();
<?php
foreach ( $selected as $key => $value ) {
?>
selected_fields.push("<?php echo $value;?>");
<?php
}
?>
var ind_dropdown = document.getElementById( "ind1" );
for ( var i = 0; i < ind_dropdown.length; i++ )
{
if ( selected_fields.in_array( ind_dropdown.options[ i ].text ) ) {
ind_dropdown.options[ i ].setAttribute( "selected", "selected" );
}
/*var select=selectedFields[i];
for (var ii = 0; ii < document.getElementById('ind1').length; ii++) {
var value=document.getElementById('ind1').options[ii].value;
alert(value);
alert(select);
if(value==select)
{
document.getElementById('ind1').options[ii].selected=selected;
}
}*/
}
});
</script>
HTML:
<body>
<select id="ind1" name="industry[]" multiple="multiple" size="5">
<option value="Banking and Financial Services">Banking and Financial Services</option>
<option value="Insurance">Insurance</option>
<option value="Telecom">Telecom</option>
<option value="Government ">Government </option>
<option value="Healthcare & Life sciences">Healthcare & Life sciences</option>
<option value="Energy">Energy</option>
<option value="Retail &Consumer products">Retail & Consumer products</option>
<option value="Energy, resources & utilities">Energy, resources & utilities</option>
<option value="Travel and Hospitality">Travel and Hospitality</option>
<option value="Manufacturing">Manufacturing</option>
<option value="High Tech">High Tech</option>
<option value="Media and Information Services">Media and Information Services</option>
</select>
</body>
我不建议混合使用PHP和Javascript代码。这太乱了,难以维护。我建议你在服务器端(PHP)或客户端(AJAX)解析这些数据。