2009-09-01 4 views
0

Я использую JQuery и cakephp для своего приложения.Использование цитат в JQuery

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

, что возвращается в ** ** HT (сырой выход)? – TheVillageIdiot

ответ

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>