Как получить .selected String?

0

Я использую JS для поиска в XML и получения его элементов, чтобы использовать его в дальнейшей обработке, я использую heapbox для отображения элементов, а затем используя .selected чтобы получить выбранный элемент, чтобы отображать его.

Проблема здесь в том, что я хочу получить выбранный элемент, чтобы сделать некоторую обработку имени перед тем, как получить детей, но я ничего не получил при хранении в var и получил его при непосредственном использовании полного запроса,

например,

var section = '', text = '' ; 
section = $('menu').find($(".selected").text()).attr('nodeName');
alert($('menu').find($(".selected").text()).attr('nodeName'));

в этом section кода ничего не равно, text равно никому, он оповещает undefined при использовании $('menu').find($(".selected").text()).attr('nodeName') непосредственно в обработке работает очень хорошо.

ОБНОВИТЬ:

Файл xml:

<?xml version="1.0" encoding="UTF-8"?>
<menu parent_id="0" >

    <Menu cat="main">

    </Menu> 
    <Soup cat="main">
            <Mushrom0Tomato.Soap  price = "15.95" hasoption = "false"> 
            </Mushrom0Tomato.Soap>
            <Cream.Of.Chicken.Soap  price = "16.95" hasoption = "true"> 

                    <Add.Mushroom  price = "3.95"></Add.Mushroom>
                    <none  price = "0"></none>

            </Cream.Of.Chicken.Soap>
            <Season.Soap  price = "15.95" hasoption = "false">
            </Season.Soap>
    </Soup>
</menu>

Код JS:

var cats=[], cati=0, total=0, selectedarray=[], itemoptions=[], optionstring='', section='', si=0, oi=0, items=[];

$("#total").append("Total:  " + total + " EGP");

$('#dummy').load('cafe.xml',function() {
initialize();
})
function initialize(){
ct=$('menu').children().length;
for(cati==0;cati<=ct-1;cati++)
{
cats[cati]=$('menu').children().eq(cati).prop('nodeName');

var realname = cats[cati];
if(realname.indexOf(".") != -1){
    realname = realname.replace(/\./g,' ');
    }

$('.basic-example').append('<option value="option1">'+realname+'</option>');
}
$(".basic-example").heapbox({'onChange':function(){loadmenu()},effect:{type:"fade",speed:"slow"}});

}



// loading the items to the menu
function loadmenu()
{

$("#gallery").empty();
section = $('menu').find($(".selected").text()).attr('nodeName');
alert($("menu .selected").text().toString());
.
.
.
Теги:
dom

1 ответ

0

.find предназначен для поиска дочерних элементов выбранного узла

Вы, вероятно, просто хотите

$("menu .selected").text();

А также

$("menu .selected").attr("nodeName");

.find эквивалент этого (хотя, вероятно, не нужно) будет

$("menu").find(".selected").text();

А также

$("menu").find(".selected").attr("nodeName");
  • 0
    но при предупреждении $("menu .selected").text(); это дает мне пустую строку
  • 0
    Я не смогу вам помочь, если вы не опубликуете код и данные, с которыми работаете.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню