나는 AJAX 검색 필드를 만들었습니다. Ajax 검색 작업 및 항목이 성공적으로 추가되고 있습니다. 추가 된 검색 항목을 제거 할 때. 추가 된 검색 값을 클릭합니다. 그들을 배열로 변환하고 나서 배열에서 처리하고 일치하는 것을 제거합니다. 하지만 문제는 을 jQuery로 나누어 사용할 때입니다. 간단한 문자열을 배열로 변환하지 않습니다. 다음은 HTML입니다. jQuery의 .split()에서 문자열을 변환하지 않습니다.
$('.placeholder').on("click", "li", function() {
parent = jQuery('.supplier-ajax'); // Parent
id = jQuery(this).attr('id');
slug = jQuery(this).attr('slug');
supplierval = parent.find('#product_supplier').val();
console.log(parent);
console.log('placeholderclick');
console.log(slug);
console.log(id);
console.log(supplierval);
console.log(typeof supplierval)
supplierarray = $(supplierval).toString().split(",");
console.log(supplierarray);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="search-field supplier-ajax">
\t <div class="placeholder">
\t \t <input type="search" id="woocommerce-product-supplier-field" class="supplier-field field form-control valid" autocomplete="off" aria-invalid="false">
\t \t <ul class="placeholder-items">
<li class="supplier-ajax-placeholder" id="726" slug="bottle">Bottle</li>
</ul>
\t </div>
\t <i class="fa fa-search" aria-hidden="true"></i>
\t <div class="hidden" id="suggesstion-box">
\t \t <ul>
<li id="726" slug="bottle">Bottle</li>
<li id="1011" slug="eurobottle">Eurobottle</li>
<li id="612" slug="bottle-promotions">Bottle Promotions</li>
</ul>
\t \t <i class="fa fa-circle-o-notch fa-spin fa-3x fa-fw hidden"></i>
\t </div>
\t <input type="hidden" id="supplier-nonce" name="" value="93b8e7346b">
\t <input type="hidden" id="product_supplier" name="supplier" value="bottle">
</span>
placeholderclick
bottle
726
bottle
string
["[object Object]"]0: "[object Object]"length: 1__proto__: Array(0)
다음은 supplierval 문자열은 여전히 이이 작동하지 않는 분할 대해서 typeof. 나는 .toString()을 supplierarray에서 제거하려고 시도했으나 .split(); 함수를 찾을 수 없습니다 오류가 발생했습니다. 나는 그 문제가 뭔지 모른다.
왜 단순한 문자열에서 작업이 분할되지 않습니다. 누가 typeof도 string입니다.
JSFIDDLE : https://jsfiddle.net/t3xn1v7m/
돌출'supplierarray = supplierval.split (""); ' – Satpal
Satpal 말한대로 예, 이유는 당신이로 텍스트를 저장하고있는을 문자열 변수를 생성 한 다음 해당 변수를 .toString()이 처리 할 수없는 JQuery 객체로 변환합니다. – delinear
'왜 splitof는 단순한 문자열인데 typeof도 string이 아닙니다 .' - 간단한 문자열에서'split'을하지 않습니다. 간단한 문자열 인'supplierval'을 jQuery 객체로 래핑하고 있습니다. 더 이상 간단한 문자열이 아닙니다. – Nope