我正在为我的应用程序使用JQuery和cakephp。
I have created a select input Element using
$(document).ready(function(){
$("#"+<?=$r['Attribute']['id'];?>).each(function() {
type= "<?=$r['Attribute']['type'];?>";
attribute_id= "<?=$r['Attribute']['id'];?>";
if(type=="dropdown")
{
var ht = $.ajax({
type: "GET",
url: "http://localhost/FormBuilder/index.php/forms/viewChoices/"
+ attribute_id,
async: false
}).responseText;
var myObject = eval('(' + ht + ')');
var data = myObject;var j=0;
$.map(data.choices, function(i){ j++; alert(i.choice);
$('<option value='+i.choice+'>'+i.choice+'</option>')
.appendTo("#"+<?=$r['Attribute']['id'];?>);
return i.choice;});
}
});
});
创建的那个就像,,
<select id="10" name="Experience">
<option value="Fresher">Fresher</option>
<option yrs="" 5="" value="Below">Below 5 Yrs</option>
<option yrs="" 10="" value="Above">Above 10 yrs</option>
</select>
我不知道为什么这个值没有设置为
<option value="Below 5 Yrs">Below 5 Yrs</option>
请建议我......我知道引号中存在一些问题,我尝试了许多选项......
答案 0 :(得分:2)
您应该使用
创建它$('<option value="'+i.choice+'">'+i.choice+'</option>')
因为当你以第一种方式执行时,它会返回HTML:
<option value=Below 5 Yrs>Below 5 Yrs</option>
浏览器将其视为
<option yrs="" 5="" value="Below">Below 5 Yrs</option>