2013-05-06 2 views
2

텍스트 값이 함수에 전달 된 드롭 다운 목록에서 해당 값을 얻은 다음 해당 값을 사용하여 옵션을 선택하는 옵션을 선택하려고합니다. 왜 이것이 작동하지 않는지 알 수 있습니까?옵션 요소의 텍스트를 기반으로 옵션을 선택하십시오.

function selectAndAddToCart(value) 
    { 
     console.log('The selectAndAddToCart onclick value is ' + value); 
     var optionToSelect = $j('#attribute136').find('option[text="' + value + '"]').val(); //select the option with the node text that equals value 
//select the option with the node text that equals value 
     var vals = $j('#attribute136').val() || []; 
     vals.push(optionToSelect); 
     $j('#attribute136').val(vals); 

     //initiate add to cart function 
     productAddToCartForm.submit(this); 
    } 
+0

가 제대로 jQuery를 연결 한과'#의 attribute136을한다 '요소가 존재합니까? –

답변

1

$j 당신이 $j$의 이름을 변경, noConflict를 사용하고, 아직 실패 선택에 당신이 $를 사용하고, 그리고 것 같습니다!

var optionToSelect = $j('option', '#attribute136').filter(function() { 
    return $(this).text().indexOf(value) != -1; 
}).val(); 

을하지만 내가 contains() 선택에 대해별로 관리 할 때문입니다 :

내가 할 줄

$("#attribute136 option:contains(" + value + ")"); 
+0

좋은 캐치 ... 완전히 간과했다. +1 – tymeJV

+0

contains 선택자가 나를 위해 작동하지 않았지만 필터가 수행했습니다! 고맙습니다! – CaitlinHavener

2

값을 따옴표로 묶습니다.

var optionToSelect = $('#attribute136').find('option[text="' + value + '"]').val(); 
1
$("#attribute136 option:content("+value")"); 

원하는 선택입니다보십시오.

+0

$ j ("# attribute136 옵션 : content ("+ value + ")"). val(); 수확 '인식 할 수없는 표현 : 내용' – CaitlinHavener

관련 문제